一定要注意,否则会出逻辑错误
Must: and
Should or
public Map<String,Float> queryAllUsersDailyByPage(String startDate,String endDate) {
//当前用户的id
String userId = UserUtils.getUserId();
Date date1=null;
Date date2=null;
try {
date1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(startDate+" 0:0:0");
date2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(endDate+" 23:59:59");
}
catch (Exception ex) {
}
long startTimestamp = date1.getTime();
long endTimestamp = date2.getTime();
QueryBuilder queryBuilder = QueryBuilders.boolQuery()
.mustNot(QueryBuilders.termQuery(DEL_FLAG, true))
.must(QueryBuilders.rangeQuery("dailyCreateTime").from(startTimestamp).to(endTimestamp))
.must(QueryBuilders.

本文探讨了在 ElasticSearch 中,Must 和 Should 条件一起使用时的逻辑,指出如果不注意,可能会导致搜索逻辑错误。Must 类似于 AND,而 Should 相当于 OR,理解它们的结合对于构建正确的查询至关重要。
最低0.47元/天 解锁文章

1万+

被折叠的 条评论
为什么被折叠?



