我刚打酱油去了,不好意思

scroll search会产生额外一次查询

Elasticsearch | 作者 heipark | 发布于2020年04月26日 | 阅读数:1478

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

第一次的查询是浪费的,请问这个问有解吗?
已邀请:

God_lockin

赞同来自:

如果是scroll的话,searchRequest需要设scroll参数
 
searchRequest.scroll( TimeValue )
 
才会去执行scroll搜索的,如果不设就是普通检索了。
 
从第二次scroll开始,就不能用searchRequest了,要用SearchScrollRequest,它的最主要的参数是scrollId,new SearchScrollRequest(scrollId)
 
然后每次需要重新做这个SearchScrollRequest传进client,直到结果里的数据list为空,代表符合你query条件的数据已经被完全滚动了

要回复问题请先登录注册