项目场景:
使用ElasticSearch查询分页数据
问题描述
有时候,我们需要使用ElasticSearch来分词查询,并分页返回指定的数据条数,但是当我们每次想得到分页数据条数超过十条的时候,ElasticSearch总是只能返回十条
原因分析:
因为ElasticSearch为了查询的速度,在默认的情况下已经设置了分页数据只能返回10条,所以我们需要通过改变size(返回数据的大小)去改变分页查询的数据条数大小,若没有设置size只能是返回10条
解决方案:
(1)使用kibanna解决
GET /article_content/_search
{
"query": {
"match_all": {}
},
"from": 0, // 分页开始的位置,默认为0
"size": 1000, // 期望获取的文档总数
}
(2)使用Java的api解决
@Test
void getDocumentMatch() throws IOException {
SearchRequest request = new SearchRequest("article_content");
request.source().query(QueryBuilders.matchQuery("content","公众号"));
request.source().size(1000); //改变期望获得文档的大小
request.source().trackTotalHits(true);
SearchResponse response = client.search(request, RequestOptions.DEFAULT);
parseResponse(response);
}
文章来源:https://www.toymoban.com/news/detail-502222.html
文章来源地址https://www.toymoban.com/news/detail-502222.html
到了这里,关于ES常见问题(1)-解决ElasticSearch每次只能返回10条数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!