我最近将 flex 集群从1.7.5升级到了2.1.2。
我已阅读了2版以上的文档,默认情况下已启用Doc值,但我想知道这是否适用于我执行的升级?我已经针对群集检查了_mapping和_settings,但是看不到任何对doc值的引用。
如果我对doc值的工作方式的理解是正确的,那么我希望这将有助于减轻集群上的内存消耗问题。
最佳答案
在集群升级到2.1.2之后,您应该将旧索引的perform an index upgrade迁移到新的Lucene格式。
默认情况下,您将在2.1.2中创建的所有新索引都将启用doc值,因此无需执行任何特殊操作。
但是,您需要首先升级所有旧索引,以利用ES 2.1.2中使用的Lucene格式。升级该索引后,所有旧索引将开始对所有现有字段(当然是已分析的字符串除外)使用doc值,但不会将所有已经建立索引的数据回填到doc值文件中。为此,您需要重新索引数据,以便将doc值用于现有数据。不过,进入旧的升级索引的所有新数据都将使用doc值。
关于elasticsearch - Elasticsearch升级doc_values是否启用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40721808/