elasticsearch match 匹配数据不全
原代码
SearchRequest request = new SearchRequest(index);
//创建查询条件
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
sourceBuilder.query(query);
request.source(sourceBuilder);
造成数据不全的原因
默认 elasticsearch 是分页的,数据仅仅只显示前 10 条,但查询出来的总记录数是对的,只是分页导致输出的结果集不对
解决方法
调整后的代码
SearchRequest request = new SearchRequest(index);
//创建查询条件
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
sourceBuilder.size(1000);
sourceBuilder.query(query);
request.source(sourceBuilder);
增加了 sourceBuilder.size(1000); 这一行代码,意思就是设置输出满足条件的前 1000 条;
elasticsearch 版本
7.6.2