Based on Elasticsearch DSL docs (https://elasticsearch-dsl.readthedocs.io/en/latest/)
"you have to use a matching major version" of the library for compatibility. Specifically:
For Elasticsearch 7.0 and later, use the major version 7 (7.x.y) of the library.
For Elasticsearch 6.0 and later, use the major version 6 (6.x.y) of the library.
What's the best practice then for upgrading from ES 6 to ES 7? This seems to imply that you can't make your code forward compatible with ES 7 server without making it backwards incompatible with an ES 6 server at the same time.
I'm trying to avoid having two different versions of the code having to exist at the same time by making it forwards compatible in-place first, before upgrading the server. Has anyone done this? (We have lots of analyzers, tokenizers, multiple Documents, etc that we really don't want to have to duplicate in the code in the middle of the migration.)