We are using Elasticsearch 5.6 hosted on AWS ElasticSearch service and using Rails searchkick gem (v2.5). We are planning to migrate to Elasticsearch 7 and searchkick v4 at some point to make use of the split index functionality.
I am checking whether I would need to rebuild the whole index, it isn't too hard to do for us, maybe over a day.
Over here: https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-upgrade.html Here is a couple of conflicting pieces of information I see on this doc page:
" Elasticsearch can usually be upgraded using a Rolling upgrade process so upgrading does not interrupt service. Rolling upgrades are supported: • Between minor versions
• From 5.6 to 6.8
• From 6.8 to 7.3.2"
...
"Elasticsearch can read indices created in the previous major version. If you have indices created in 5.x or before, you must reindex or delete them before upgrading to 7.3.2. "
If one can do a rolling upgrade from 5.6 to 6.8, and from 6.8 to 7.3.2, and elasticsearch can read indices created in the previous major versions, then is the next statement you must reindex from 5.x to 7.3.2 true?
No.
I recommend this solution:
first you should build a new parallel 7.3 cluster. then "remote reindex" data from 5.6 to 7.3. https://www.elastic.co/guide/en/elasticsearch/reference/current/reindex-upgrade-remote.html
the other solution:
you can rolling upgrade to 6.5 then "reindex in place" the indices from 5.6 to 6.5. in that moment you have two option: