40.什么是复合查询? 嘻哈的简写笔记——Elastic Search

复合查询也叫复合过滤器;将你的多个查询条件,以一定的逻辑组合在一起
通俗来讲就是有一些逻辑判断关系在查询里面;我们以前查询的是按照关键词查询,大部分都是包含这个关键词的,或者是和这个关键词是相匹配的;复合查询的逻辑是不包含的,或者包含这个关键词但是不包含另一个关键词的;又或者是包含A1也必须包含A2 的

复合查询有三个逻辑判断词:
·must: 所有的条件,用must组合在一起,表示And的意思 (must 等于 and)
·must_not:将must_not中的条件,全部都不能匹配,标识Not的意思 (must_not 表示全部不是)
·should:所有的条件,用should组合在一起,表示Or的意思 (should 表示 or)

#复合查询
#bool查询
GET /book/novel/_search
{
  "query": {
    "bool": {
      "should": [ 
        {
        "term": {
          "author": {
            "value": "滔滔"
          }
        }
       },
       {
        "term": {
          "author": {
            "value": "任凯"
          }
        }
       }
      ],
      "must_not": [ 
        {
        "term": {
          "name": {
            "value": "希勒111"
          }
        }
       }
      ],
      "must": [ 
        {
        "term": {
          "price": {
            "value": "200"
          }
        }
       }
      ]
    }
  }
}

含义复合查询一般都是布尔查询,所以是”bool” ;然后should是或的意思,也就是author要么是”滔滔”要么author是”任凯”;后面must_not :必须不是,name必须不是希勒111,pricei价格,必须是200 ;
注意:should,must,must_not 后面必须都是中括号 [ ] ;表示数组,也就是可以放多个值;

。。。。。。。。。。。。。

嘻哈的简写笔记

。。。。。。。。。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值