-
-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
elasticsearch 7 #394
elasticsearch 7 #394
Conversation
ae73ad3
to
7d81d11
Compare
Regarding the |
253fb75
to
3e5d39e
Compare
build passing! woohoo! compatibility dance 🕺 👯 |
So.. while this schema works great to create an index on ES6/ES7 the importers all fail due to this line in pelias/model which assumes the type is named It's kinda unfortunate but correct to do it like this, we must continue with the type named Once we drop backwards support for 5 we can go ahead and change that line in |
a0f602f
to
1d1b43a
Compare
317b802
to
936174a
Compare
In Elasticsearch 7+, the [hits count is now an object](https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking-changes-7.0.html#hits-total-now-object-search-response). This was needed because Elasticsearch now includes a performance improvement that allows non-exact hit counts to be used when the exact count isn't needed. This adds a helper to wrap around the breaking change and support either the old or new format. Extracted from #394 Connects pelias/pelias#831
I've just rebased this branch against master after extracting the hits helper to a separate PR. The list of changes is getting pretty small, and after #418 I bet we can even remove more. |
After looking at the changes in #394, I noticed that all the parameters used to create test indices during the integration tests were identical. Because we will want to make changes to those options as part of our move to support Elasticsearch 7, this PR is a pure refactoring that moves those options to the `common` object passed to each integration test. This should allow us to make any future changes to index creation options in a single place.
After looking at the changes in #394, I noticed that all the parameters used to create test indices during the integration tests were identical. Because we will want to make changes to those options as part of our move to support Elasticsearch 7, this PR is a pure refactoring that moves those options to the `common` object passed to each integration test. This should allow us to make any future changes to index creation options in a single place.
All aspects of this PR have now been extracted into or otherwise handled by the following PRs:
Referring to this PR and splitting it up into component pieces was a super useful exercise in making sure we have all our ES7 bases covered. And now we do! 🎉 |
es7 compatibility (breaks compatibility with es5)
notable changes:
moved 'word delimiter' filter below synonyms filter to avoid(backported to master already)message [failed to create index], failure [IllegalArgumentException[Token filter [word_delimiter] cannot be used to parse synonyms]]
errorchanged thesuperseded by support for dynamically specifying the elasticsearch _type from config config#119_type
from "doc" to "_doc" (as required in ES7)hits.total
formattodo:
word_delimiter
or move it down below the synonymspelias/config
to set the defaultschema.typeName
to_doc
(done in Elasticsearch 7 Support pelias#831)update(see above)pelias/model
to use the_doc
type instead ofdoc
update all the importers to use the updated(also no longer relevant)pelias/model
version