【发布时间】:2019-09-18 01:15:58
【问题描述】:
我们正准备将 Elastic Search 1.7 升级到更新版本。
在开始升级之前我们应该注意什么,对于我们应该升级到的版本有什么建议吗?
技术上是否可以从 1.7 升级到 5.x 还是我们应该先升级到 2.x?
【问题讨论】:
标签: elasticsearch upgrade
我们正准备将 Elastic Search 1.7 升级到更新版本。
在开始升级之前我们应该注意什么,对于我们应该升级到的版本有什么建议吗?
技术上是否可以从 1.7 升级到 5.x 还是我们应该先升级到 2.x?
【问题讨论】:
标签: elasticsearch upgrade
最近经历了这个,当您远远落后时,有两种方法可以升级 Elasticsearch:
迈出一大步,一次完成所有工作,或者一次完成一个主要版本。
后者可能更安全,但速度较慢。这可能是由于 Elasticsearch 非常好的兼容性策略:主要版本 X 中的任何重大更改都会在版本 X-1 中引发弃用警告,但会继续工作。
我个人建议一次使用一个版本,由于这种方法更复杂,我将更详细地描述它。
这允许如下模式:
以下是一些值得考虑的一般原则
是的,文档说,例如,您可以load an index created in ES 1.7 into ES2,但我不建议这样做。根据我的经验,当你这样做时,一些查询实际上会变慢,即使新版本的 Elasticsearch 通常至少保持性能,如果没有提高性能。
通常,每次更新都需要对您的 Elasticsearch 架构映射进行一定程度的更改,并对查询结构进行一些更改。查询结构通常非常更容易迭代,因为它在您的应用程序代码中并且可以随时改进或回滚。架构更改更难,因为它们通常需要您从头开始创建新索引并以某种方式迁移。
但是,请记住,两种类型的更改都存在。只需调整您的 Elasticsearch 架构,直到它适用于新版本,而未能更新您的查询可能会导致意外!
最后,这是我从每次升级中回忆的主要痛点的粗略列表
【讨论】: