2016-11-21 48 views
0

我最近將Elastic cluster從1.7.5升級到2.1.2。Elasticsearch升級doc_values是否啓用?

我讀過比版本2+文檔默認情況下啓用值,但我想知道這是否適用於我已執行的升級?我檢查了我的_mapping和_settings對羣集,但無法看到任何對doc值的引用。

如果我理解doc值如何工作是正確的,我希望這會有助於緩解羣集上的內存消耗問題。

+0

您是否在升級後執行舊索引的[升級](https://www.elastic.co/guide/en/elasticsearch/reference/2.1/indices-upgrade.html),以便舊索引得到遷移到新的Lucene格式?將羣集從1.7升級到2.1不會改變舊索引到使用doc值的映射。但是,您將創建的所有新索引默認都會啓用文檔值,但您的舊索引需要先升級。 – Val

+0

不,謝謝,我不知道升級API。你是說升級會在舊索引中啓用doc_values,還是應該重新索引新索引?如果可能的話,我想避免重新編制索引,因爲我有20億個文檔。 – Raoot

回答

1

集羣升級到2.1.2後,您應該使用舊索引的perform an index upgrade,以便將它們遷移到新的Lucene格式。

您將在2.1.2中創建的所有新索引默認都會啓用doc值,所以在這裏沒有什麼特別的要做。

但是,爲了利用ES 2.1.2中使用的Lucene格式,所有舊索引都需要先升級。在索引升級之後,所有舊索引將開始使用所有現有字段的文檔值(除了分析的字符串當然),但是所有已索引的數據都不會回填到文檔值文件中。爲此,您需要重新索引數據以便爲現有數據使用文檔值。不過,所有進入舊升級索引的新數據都將使用doc值。

+0

很好的答案,謝謝!我現在可以用這個移動。 – Raoot

+0

真棒,很高興它幫助! – Val