This repository has been archived by the owner on May 18, 2020. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is an attempt to fix #86. There are a number of challenges with this new version:
The last part is the only piece that doesn't work. All the test pass except for "should index a document using specified routing", which fails because the
_routing
metadata key has been removed, and now you can only specify per-document routing inline inside the document. I wasn't sure how to make that work while preserving compatibility with other versions.That brings me to something else... Compatibility. This library supports 3 major versions of Elasticsearch, 4 with this PR. Elastic very aggressively breaks APIs and compat between major versions, so I had to hack a lot of "oh this is ES7, do something different" into things. I don't think this library format is sustainable for much longer.
I think it would be better to switch to using major versions as well, and following the Elasticsearch major versions: embedded-elastic 6.x supports ES 6.x, embedded-elastic 7.x supports 7.x, ... That way the API can stick to exactly what each version can do, instead of doing the increasingly difficult job of pleasing all of them at once. WDYT?
I think for ES7 the current approach still works, but ES8 will probably break things even more.