2016-08-09 13 views
0

私はインデックスpostsが設定されたElasticSearchを持っています。私は時々それに新しい文書を押しています。elasticsearchでインデックスを再作成するのを待つ方法は?

ElasticSearchは、すべてのドキュメントのインデックスが作成されている場合にのみ、クエリに返信します。どうやってやるの?

+0

ドキュメントをプッシュして検索クエリを送信するのは同じプログラムですか?はいの場合は、クライアント側で制御できますか? – Val

+0

@Valええ、できます。しかし、私はどのようにして弾性検索が索引付けされているのか、そうでないのでしょう – asiniy

+0

ES2では、ES5では['?refresh = wait_for'](https://www.elastic.co/guide/en/elasticsearch/reference/master/docs)でインデックスクエリを送信することはできません。 -refresh.html)、ESは新しい文書が検索可能な状態になったときにのみ応答します。 – Val

答えて

1

ES 2では、新しいドキュメントのインデックスを作成した直後にrefresh APIを呼び出すことはできますが、実際にはクラスタのパフォーマンスが低下する可能性があるため、運用中に行うことはお勧めしません。

ES5では、?refresh=wait_forでインデックスクエリを送信することができ、ESは新しいドキュメントの検索準備が整うと応答します。

+0

ドキュメント上でさえ、 'ES2'アプローチを得ることができません。つまり、リフレッシュを呼び出すと、「ES」はすべてのインデックスを再作成するまでクエリに応答しません。 – asiniy

+0

いいえ、すべて同期的に行う必要があります。まず最初にインデックスを作成し、次にrefreshを呼び出してからクエリを送信します。 – Val

+0

インデックスの再インデックスが完了したときにのみ、 – asiniy

関連する問題