需求: type 字段是使用逗号分隔的字符串,要求多个 值只要与此字段 模糊匹配,即可成功
布尔查询(Bool Query)
布尔查询是一种联合查询,可以对多个查询条件进行组合,布尔查询有四个子查询关键词:
有时我们在查询es时,希望能够一次返回符合多个查询条件的结果,如多个时间范围查询、多个项的查询等。 文章来源:https://www.toymoban.com/news/detail-504034.html
- 使用should进行多个项的查询
代码完成如下:文章来源地址https://www.toymoban.com/news/detail-504034.html
// 布尔查询
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
//设置type
BoolQueryBuilder typeQueryBuilder = QueryBuilders.boolQuery();
if (levelRelVO.getResourcesTypeList() != null && levelRelVO.getResourcesTypeList().size() > 0) {
for (Integer type : levelRelVO.getResourcesTypeList()) {
MatchQueryBuilder typeBuilder = new MatchQueryBuilder( "type", type );
typeQueryBuilder.should( typeBuilder );
}
boolQueryBuilder.must( typeQueryBuilder );
}
到了这里,关于使用ES同一个字段,不同条件or查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!