在使用Elasticsearch進行search查詢時,出現了Result window is too large的問題。
報錯如下:
QueryPhaseExecutionException[Result window is too large, from + size must be less than or equal to: [10000] but was [10200]. 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 parameter.]; }{[Sgi3DlLvRimb3RlcDFJI2Q][goagain_index_order_v1][9]: RemoteTransportException[[node_l-qgoagainesdata3.ops.cn2.qunar.com][10.90.53.180:9300][indices:data/read/search[phase/query]]]; nested: QueryPhaseExecutionException[Result window is too large, from + size must be less than or equal to: [10000] but was [10200]. 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 parameter.]; }
從上面的報錯信息,可以看到ES提示我結果窗口太大了,目前最大值為10000,而我卻要求給我10200。並且在後面也提到了要求我修改index.max_result_window參數來增大結果窗口大小。
修改方法如下:
curl -XPUT http://localhost:9200/indexName/_settings -d ‘{ “index” : { “max_result_window” : 100000}}’