+サイズからのSpringBoot + Cloud統合ES実行エラーレポートは、[10000]以下である必要がありますが、[17500000]でした

ここに画像の説明を挿入

ページングクエリにelasticsearchを使用している場合、クエリレコードが10000を超えると、次のエラーが報告されます。

Caused by: org.elasticsearch.search.query.QueryPhaseExecutionException: Result window is too large, from + size must be less than or equal to: [10000] but was [17500000]. See the scroll api for a more efficient way to request large data sets. This limit can be set by changing the [index.max_result_window] index level setting.
	at org.elasticsearch.search.DefaultSearchContext.preProcess(DefaultSearchContext.java:203) ~[elasticsearch-5.6.13.jar:5.6.13]
	at org.elasticsearch.search.query.QueryPhase.preProcess(QueryPhase.java:90) ~[elasticsearch-5.6.13.jar:5.6.13]
	at org.elasticsearch.search.SearchService.createContext(SearchService.java:493) ~[elasticsearch-5.6.13.jar:5.6.13]

ドキュメントから、デフォルトでは10000しか見つからないことがわかります。

index.max_result_window
The maximum value of from + size for searches to this index.
 Defaults to 10000. Search requests take heap memory and time proportional to from + size and this limits that memory.
See Scroll or Search After for a more efficient alternative to raising this.

解決策:
設定を変更し、これを必要な制限に設定します。ここで1000000を設定します。

PUT policy_document/_settings
{
    
    
  "index":{
    
    
    "max_result_window":1000000
  }
}

変更が成功した後に戻る:

{
    
    
  "acknowledged": true
}

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_43565087/article/details/107929414