ES版本:6.3
按照官方文档操作:https://www.elastic.co/guide/e ... ments
发现第一次search是多余的(循环外的:SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
)
假设分页size是2000,记录数2500;
那循环外第一次search返回2000
循环内第一次返回2000
循环内第二次返回500
第一次的查询是浪费的,请问这个问有解吗?
按照官方文档操作:https://www.elastic.co/guide/e ... ments
发现第一次search是多余的(循环外的:SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
)
假设分页size是2000,记录数2500;
那循环外第一次search返回2000
循环内第一次返回2000
循环内第二次返回500
第一次的查询是浪费的,请问这个问有解吗?
1 个回复
God_lockin
赞同来自:
searchRequest.scroll( TimeValue )
才会去执行scroll搜索的,如果不设就是普通检索了。
从第二次scroll开始,就不能用searchRequest了,要用SearchScrollRequest,它的最主要的参数是scrollId,new SearchScrollRequest(scrollId)
然后每次需要重新做这个SearchScrollRequest传进client,直到结果里的数据list为空,代表符合你query条件的数据已经被完全滚动了