2017-11-02 21 views
0

私はelasticsearch 5.6 Java APIを使用しています。elasticsearchからすべてのドキュメントを取得する5.6

私が使用できるすべてのドキュメントのスクロールAPIまたは他のを取得するには9999

であるESには限界があるので、私はそのすべてのレコードをフェッチしていないelasticsearchからすべての文書を取得しようとしています改ページ専用に使用されるメソッド。

私はすべてのレコードを取得し、arraylistを格納したいと思います。

エラー:org.elasticsearch.search.query.QueryPhaseExecutionException:

起因するバッチサイズが大きすぎると、大きさがより小さいか等しくなければならない:[10000]が、[100000]でした。スクロールバッチサイズは、結果ウインドウと同程度のメモリを消費するので、[index.max_result_window]インデックスレベルの設定によって制御されます。

私も以下のように500000にindex.max_results_window増加しているが、私は働いていなかった

カール-XPUTはlocalhost:9200 /インデックスは/ _settings -H "のContent-Type:アプリケーション/ JSON" -d「{ "max_result_window":500000} "

+1

スクロールAPIを使用する必要があります。そうしないと、ノードにパフォーマンスの問題が発生し、すべてのドキュメントを一度に削除することができます。 –

+0

すべてのドキュメントを取得するには、ページング専用に使用されるScroll APIやその他のメソッドを使用できます。私はすべてのレコードを取得し、それをarraylistに保存したい。 – Kiru

答えて

1

Kiruさんや他の誰かがこれを見て、私のelasticsearch.ymlファイルに" index.max_result_window "を置くと限界が増えました。

関連する問題