2016-09-27 6 views
1

既存のelasticsearchインデックスにasciifoldingフィルタを追加しようとしていますが、クエリ結果が期待通りです。ただし、同じ手順をクリーンインデックスに適用すると、期待どおりに機能します。elasticsearch - 既存のコレクションにasciifoldingフィルタを追加する

フィルタを追加すると、何らかの理由で更新を強制して、すべてのドキュメントを再インデックスする必要があるということですか?

+0

フィルタを適用したとき既存のインデックスに? – fylie

+0

はい、結果は実際には非常にうまいです。 – speedingdeer

答えて

1

フィルタを追加するたびに、既存のドキュメントを再インデックスする必要があります。 This LogstashでElasticsearch文書を再索引作成するためのガイドが役立ちます。基本的には、既存の文書をLogstashに入力し、フィルタを追加して新しいインデックスに出力します。

1

フィルタ/アナライザを追加すると、既存のドキュメントは影響を受けません(ドキュメントはelasticsearch/luceneのimmutable)。つまり、新しい文書のみが新しい設定で保存されます。

新しい設定を適用し、既存のデータを再インデックスすることができます。バージョン2.3以降を使用している場合は、reindex apiを使用できます。そうでない場合は、@ pancakeのようなものを使用するか、scrollbulkを使用して独自の再インデックスメカニズムを構築する必要があります。

関連する問題