我最近将我的弹性群集从1.7.5升级到2.1.2。
我读过的比版本2+默认启用了Doc值,但我想知道这是否适用于我已经执行的升级?我已经检查了我对集群的_mapping和_settings,但是看不到对doc值的任何引用。
如果我对doc值如何工作的理解是正确的,我希望这会在某种程度上减轻集群上的内存消耗问题。
答案 0 :(得分:1)
群集升级到2.1.2后,您应该perform an index upgrade旧索引,以便将它们迁移到新的Lucene格式。
您将在2.1.2中创建的所有新索引默认情况下都会启用文档值,因此没有什么特别的。
但是,为了利用ES 2.1.2中使用的Lucene格式,需要首先升级所有旧索引。在索引升级之后,所有旧索引将开始使用所有现有字段的doc值(当然除了分析的字符串),但所有已编入索引的数据都不会回填到doc值文件中。为此,您需要重新编制数据索引,以便为现有数据使用doc值。但是,旧的升级索引中的所有新数据都将使用doc值。