2016-12-15 9 views
0

私は多くのデータを持っており、ページングを提供する必要があります。私が限界を越えたときfrom + to > 10000 elasticsearchはすぐに失敗します。私はいつもそのような制限が必要なわけではないので、index.max_result_windowをより高い数字に設定したくありません。実際、その限界はめったに克服されていません。巨大なページ番号

私はAWSでES 2.3を使用しています。

回避策はありますか?どうすれば達成できますか?

おかげ

答えて

0

は、私はそれがより効率的な方法です、それはscroll を使用するのはあなた方が良いと思います。

+0

まあ、問題は解決しません。スクロールはすべての結果をページングなしで表示します。私は40ページ目に必ずユーザーが移動できるようにする必要があります。 – Facedown

+0

各リクエストのサイズはどのくらいですか? – Lax

+0

私は "無制限"ページ番号を持つ動的 "perPage"選択を持っています - 無制限では、十分な結果があれば100ページにジャンプすることを意味します。応答は約60kBです – Facedown

1

あなたはscrollを使うことができましたが、ドキュメントで指摘されているようにリアルタイムページングのためのものではないと思いますか?おそらく、max_result_windowをより高い数値に設定することができますが、必要に応じてのみを設定して後で設定しますか?とにかく動的なインデックス設定です。

curl -XPUT "http://localhost:9200/my_index/_settings" -d '{ "index" : { "max_result_window" : 100000 } }'

+0

現在の結果数に応じて制限を変更するのは良い考えです。私はそれを試してみましょう。 – Facedown