Elasticsearch修改查询返回最大记录条数

方法一:

关掉切片

curl -XPOST 'localhost:9200/lookupindex/_close'

设置返回记录数

put:http://localhost:9200/alltext/_settings

{
    "index": {
        "max_result_window": 10000
    }
}

开启切片

curl -XPOST 'localhost:9200/lookupindex/_open'

方法二:

只调整指定索引的返回数量

put:http://localhost:9200

{
    "index_patterns": ["index1","index2"],

   "settings": {
       "index.max_result_window" : 10000
    }
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
默认情况下,Elasticsearch查询时最多只会返回 10000 条记录。这个限制可以通过修改 `search.max_buckets` 参数来调整。但是,需要注意的是,如果你将这个参数设置得太大,可能会导致 Elasticsearch 集群的性能下降。 除了调整 `search.max_buckets` 参数外,你还可以通过使用 `scroll API` 或 `search after API` 分页查询来获取超过 10000 条记录的结果。下面是一个使用 `scroll API` 的例子: ```java SearchRequest searchRequest = new SearchRequest("your_index"); searchRequest.scroll(TimeValue.timeValueMinutes(1L)); SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); searchSourceBuilder.query(QueryBuilders.matchQuery("your_field", "your_query")); searchSourceBuilder.size(1000); // 每次查询1000条记录 searchRequest.source(searchSourceBuilder); SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT); String scrollId = searchResponse.getScrollId(); SearchHit[] searchHits = searchResponse.getHits().getHits(); long totalHits = searchResponse.getHits().getTotalHits().value; while (searchHits != null && searchHits.length > 0) { // 处理当前批次的结果 for (SearchHit hit : searchHits) { // 处理每条记录 } // 继续滚动查询 SearchScrollRequest scrollRequest = new SearchScrollRequest(scrollId); scrollRequest.scroll(TimeValue.timeValueMinutes(1L)); searchResponse = client.scroll(scrollRequest, RequestOptions.DEFAULT); scrollId = searchResponse.getScrollId(); searchHits = searchResponse.getHits().getHits(); } ``` 在上面的代码中,我们首先使用 `searchRequest.scroll()` 方法创建一个滚动查询,然后在每次查询时使用 `searchSourceBuilder.size()` 来指定每次查询记录数。在处理完当前批次的结果后,我们使用 `SearchScrollRequest` 和 `client.scroll()` 方法来继续滚动查询,直到所有结果都被处理完为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值