2017-08-02 15 views
0

私は弾性検索を行っていて、ESクラスタから一貫した応答を得たいと思っていました。エラスティック検索でダウンしているノードを返す方法

私はElasticsearch read and write consistency

https://www.elastic.co/guide/en/elasticsearch/reference/2.4/docs-index_.html

といくつかの他の記事を読んで、それは関係なく、一貫性のparamの、すべての破片(プライマリ+レプリカ)への書き込みが完了した後に操作を書き込むために戻って成功をES結論付けることができます。

私の理解が間違っている場合は教えてください。

誰かが知っていれば、一時的にダウンしていたクラスターに、弾性検索がノード/シャードをどのように戻すのだろうかと思います。それが利用可能になった直後に読み取り要求を処理するか、読み取り要求を処理する前に最新のデータがあることを確認しますか?

私は上記の質問に対する答えを探しましたが、何も見つかりませんでした。

おかげ ゴパルノードがクラスタから削除され、データは最新のものであるならば、それは、再びElasticsearchチェックを参加した場合

答えて

0

。そうでなければ、それは再び最新のものになるまで検索のために利用可能になりません(これは、断片全体が再びコピーされることを意味する可能性があります)。

整合性パラメータは、予期される断片の数がクラスタで使用可能な場合の追加の事前インデックスチェックです(インデックスが4つのレプリカを持つように設定されている場合は、プライマリシャードと2つのレプリカが必要です。 quorumに設定)。ただし、このパラメータは、クライアントに返す前に、すべての利用可能なシャードに書き込みを書き込む必要がある動作を決して変更しません。

+0

ありがとう、情報は便利です。私の意図は、ESを使用して一貫したデータを得ることです。 Elastic Searchは、索引付けされたデータが問合せにすぐに使用できることを保証しません。 1秒ごとにバックグラウンドで実行されるシャードリフレッシュ操作が必要です。また、書き込み操作ごとにリフレッシュするオプションもありますが、それには独自の意味があります。 –

+0

書き込みごとにリフレッシュしないでください。この目的のためにしばらく前に 'refresh = wait_for'パラメータが導入されました。https://www.elastic.co/guide/en/elasticsearch/reference/5.5/docs-refresh.html#docs-refresh – alr

関連する問題