2016-11-21 8 views
0

私は最近、Elasticクラスタを1.7.5から2.1.2にアップグレードしました。Elasticsearch doc_valuesをアップグレードできますか?

私はバージョン2以上で読んでいますが、Doc値はデフォルトで有効になっていますが、これは私が行ったアップグレードに当てはまるのでしょうか?私は_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で作成するすべての新しいインデックスには、デフォルトで有効になっているドキュメント値があるため、特別なことはありません。

しかし、ES 2.1.2で使用されているLuceneフォーマットを利用するには、古いインデックスをすべてアップグレードする必要があります。そのインデックスのアップグレード後、すべての既存のインデックスは、すべての既存のフィールド(解析された文字列を除く)のドキュメント値を使用して開始されます。BUT既にインデックスされたすべてのデータがドキュメント値ファイルに戻されません。そのためには、既存のデータにdoc値を使用するためにデータのインデックスを再作成する必要があります。あなたの古いアップグレードされたインデックスに入ってくるすべての新しいデータは、doc値を使用します。

+0

偉大な答えは、ありがとう!私は今これでfwdを動かすことができます。 – Raoot

+0

素晴らしい、嬉しい助け! – Val

関連する問題