Elasticsearch bool 使用总结

本文总结了Elasticsearch中的Bool查询和过滤的使用,包括查询与过滤的区别、Bool查询的must、should、must_not和filter子句,以及它们在全文本搜索和相关性评分中的应用。同时,提到了match、multi_match等其他查询类型,并指出在实际使用中,Bool查询可结合过滤以实现复杂条件的组合。
摘要由CSDN通过智能技术生成

Elasticsearch 包括两种结构化语句: 结构化查询( Query DSL) 和结构化过滤( Filter DSL) 。 查询与过滤语句非常相似, 但是它们由于使用目的不同而稍有差异。
原则上来说, 使用查询语句做全文本搜索或其他需要进行相关性评分的时候, 剩下的全部用过滤语句

结构化过滤不会计算分值,结构化查询会计算分值(__score) 。结构化查询默认按照分值排序,结构化过滤却不会。所以单独使用结构化过滤时有时会出现匹配度较高的却不在前面显示的原因就是单独使用结构化过滤引起的。

一般查询_search 都是用如下结构(查询过滤混合使用)

GET movie_index_0213/movie/_search
{
  "query": {#query上下文
    "bool": {
      "filter": [
        {"range": {
          "doubanScore": {
            "gte": 5,
            "lte": 10
          }
        }}
      ],"must": [
        {"match": {
          "name": "incident red sea"
        }}
      ]
    }
  }
}

结构化查询( Query DSL)包括如下几种类型

t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值