使用ES同一个字段,不同条件or查询

这篇具有很好参考价值的文章主要介绍了使用ES同一个字段,不同条件or查询。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需求: type 字段是使用逗号分隔的字符串,要求多个 值只要与此字段 模糊匹配,即可成功

布尔查询(Bool Query)

布尔查询是一种联合查询,可以对多个查询条件进行组合,布尔查询有四个子查询关键词:

使用ES同一个字段,不同条件or查询

有时我们在查询es时,希望能够一次返回符合多个查询条件的结果,如多个时间范围查询、多个项的查询等。 

  • 使用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模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包