请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

ElasticSearch6.8.2版本 多个must should混在一起查询

瓦力老师你好
1.我现在使用的是6.8.2版本
2. should must 多个查询. should是多个字段匹配一个值
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();

// 过滤1个
boolQueryBuilder.filter(QueryBuilders.termQuery(ProductIndexKey.STATUS, StatusEnum.ACTIVE.getCode()));

// should条件 两个
WildcardQueryBuilder queryBuilder_oeCode = QueryBuilders.wildcardQuery(
ProductIndexKey.OE_CODE,mallSearch.getKeywords() + SymbolConstants.STAR_SYMBOL);

WildcardQueryBuilder queryBuilder_brandCode = QueryBuilders.wildcardQuery(
ProductIndexKey.BRAND_CODE,mallSearch.getKeywords() + SymbolConstants.STAR_SYMBOL);

boolQueryBuilder.should(queryBuilder_oeCode);
boolQueryBuilder.should(queryBuilder_brandCode);
boolQueryBuilder.must(QueryBuilders.existsQuery(ProductIndexKey.TID_LIST));

3.这样的should must 多个在一起 我这样的写法对吗? 对于6.8版本

正在回答 回答被采纳积分+3

1回答

瓦力老师 2019-12-31 14:08:36

must就是SQL的AND,查询内容必须强关联,should类似SQL的OR,有可以增加score,影响关联关系,没有就不影响score

0 回复 有任何疑惑可以回复我~
  • 提问者 小耶哥 #1
    您这个问答 我们队es有些了解的都知道的, 想老师帮忙看下这个语句是否有问题  感谢     另外这个should must 各个版本是不是有很大的区别
    回复 有任何疑惑可以回复我~ 2019-12-31 14:14:42
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信