提问者:小点点

Elasticsearch版本升级以及索引是否需要重新索引


我们正在使用托管在AWSElasticSearch服务上的Elasticsearch 5.6,并使用Rails search chKit gem(v2.5)。我们计划在某个时候迁移到Elasticsearch 7和search chKit v4,以利用拆分索引功能。

我正在检查我是否需要重建整个索引,这对我们来说并不难,也许需要一天的时间。

在这里:https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-upgrade.html这是我在这个文档页面上看到的一些相互矛盾的信息:

“Elasticsearch通常可以使用

从5.6到6.8

从6.8到7.3.2”

...

“Elasticsearch可以读取在以前的主要版本中创建的索引。如果您有在5. x或之前创建的索引,则必须在升级到7.3.2之前重新索引或删除它们。

如果可以从5.6到6.8,从6.8到7.3.2进行滚动升级,并且elasticsearch可以读取在以前的主要版本中创建的索引,那么您必须从5. x重新索引到7.3.2的下一条语句是否正确?


共1个答案

匿名用户

没有。

我推荐这个解决方案:

首先你应该建立一个新的并行7.3集群。然后"远程重索引"数据从5.6到7.3。https://www.elastic.co/guide/en/elasticsearch/reference/current/reindex-upgrade-remote.html

另一个解决方案:

您可以滚动升级到6.5,然后“重新就地索引”索引从5.6到6.5。在那一刻,您有两个选择:

  1. 滚动升级到7.3并使用6.5索引(Lucene 7)并错过一些新的Lucene 8功能。
  2. 滚动升级到7.3并再次“就地重新索引”索引从6.5到7.3(Lucene 8)。with意味着您重新索引数据两次。