我们正准备将Elastic Search 1.7升级到新版本。
在开始升级之前我们应该注意什么,还有关于我们应该升级到该版本的建议吗?
从技术上是否可以从1.7升级到5.x,还是我们应该先升级到2.x?
答案 0 :(得分:1)
最近经历了这一过程,当您落后时,有两种方法可以升级Elasticsearch:
进行一次跳跃并一次完成所有操作,或者一次采用一个主要版本。
后者可能更安全,但速度较慢。可能是由于Elasticsearch的兼容性政策非常好:主要版本X中的任何重大更改都会在版本X-1中引发弃用警告,但仍会继续起作用。
我个人建议一次使用一个版本,由于这种方法较为复杂,因此我将对其进行详细描述。
这允许使用以下模式:
这里有一些值得考虑的一般原则
是的,文档说,例如,您可以load an index created in ES 1.7 into ES2,但我建议您反对。根据我的经验,即使执行某些查询,实际上某些查询实际上会 slower ,即使较新版本的Elasticsearch至少在保持性能提高的情况下也至少保持这种状态。
通常,每次更新都需要对Elasticsearch模式映射进行某种程度的更改,并对查询结构进行某些更改。由于查询结构位于您的应用程序代码中,并且可以随时进行改进或回滚,因此通常更容易迭代查询结构。模式更改比较困难,因为它们通常要求您从头开始创建新索引并以某种方式迁移。
但是,请记住,两种类型的更改都存在。只需调整您的Elasticsearch模式,直到它在新版本上可用,否则无法更新查询会导致意外!
现在,最后,这是我每次升级都记得的主要痛点的粗略清单