ES: exists查询 (must_not)

本文详细介绍了Elasticsearch中不同类型的字段在判断是否存在时的条件,包括字符串、数字、布尔、数组和对象字段。并提供了一个实战例子,展示了如何查询tags字段为空或null的记录,使用了bool查询和exists查询条件。
摘要由CSDN通过智能技术生成

推荐: https://www.cnblogs.com/wufengtinghai/p/17045448.html

elasticsearch对于各种类型字段判断字段是否存在的判断条件如下: 
1.对于字符串类型字段,当字段没有出现、字段值为null的情况下,则该字段不存在;字段值为空则计算为字段存在;"" 的意思


2.对于数字类型字段,当字段没有出现、字段值为null的情况下,则该字段不存在;


3.对于布尔类型字段,当字段没有出现、字段值为null的情况下,则该字段不存在;


4.对于数组类型字段,只要字段没有出现、字段值为null、字段值为空数组、字段值数组的所有元素都为null,则该字段不存在;


5.对于对象字段,只要字段没有出现、字段值是空对象、字段值为null,则该字段不存在;

实战 : 查询tags字段为空或null , tag 是字符串

"bool": {
            "should": [
              {
                "term": {
                  "tags": ""
                }
              },
              {
                "bool": {
                  "must_not": [
                    {
                      "exists": {
                        "field": "tags"
                      }
                    }
                  ]
     }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值