文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何在es中查询null值

2023-09-16 13:23

关注

文章目录

1、背景

在我们向es中写入数据时,有些时候数据写入到es中的是null,或者没有写入这个字段,那么这个时候在es中该如何查询出这种为null的数据呢?

2、需求

假设我们的mapping存在 如下2个字段nameaddress,其中 namekeyword类型且使用了null_value来处理null值,address字段是text类型。

我们插入数据时,存在nameaddress字段都不存在的,存在nameaddress[]null的数据,我们需要查询出来这些数据。

3、准备数据

3.1 创建mapping

PUT /index_null_value{  "mappings": {    "properties": {      "name":{        "type": "keyword",        "null_value": "--"      },      "address":{        "type": "text"      },      "age":{        "type": "integer",        "null_value": "-1"      }    }  }}

注意:

  1. null_value 需要和字段的 类型值 保持一致,比如上方的ageinteger类型,那么null_value的值就必须是integer类型
  2. null_value 不会修改 _source中的值
  3. []空数组是不会被null_value替换的,因为[]中不包含明确的null
  4. null_value可以修饰的数据类型有限,比如text类型不可使用。
    null_value注意事项

3.2 插入数据

PUT /index_null_value/_bulk{"index":{"_id":0}}{"age":10}{"index":{"_id":1}}{"name":null,"address": null,"age":10}{"index":{"_id":2}}{"name":[],"address":[],"age":20}{"index":{"_id":3}}{"name":[null],"address":[null],"age":60}{"index":{"_id":4}}{"name":[null,"123"],"address":[null,"123"],"age":70}{"index":{"_id":5}}{"name":["123",null],"address":["123",null],"age":80}{"index":{"_id":6}}{"name":["123","456"],"address":["123","456"],"age":90}
  1. 数据中存在 nameaddress字段都不存在的
  2. 数据中存在 nameaddress字段 是 [] 的
  3. 数据中存在 nameaddress字段 是 [null] 的
  4. 数据中存在 nameaddress字段 都有值的

4、查询 name字段为null的数据

查询name字段为null的数据

5、查询address不存在或值直接为null的数据

查询address不存在或值直接为null的数据
boolean exists

6、参考链接

https://www.elastic.co/guide/en/elasticsearch/reference/8.6/null-value.html
2、https://www.elastic.co/guide/en/elasticsearch/reference/8.6/query-dsl-exists-query.html

来源地址:https://blog.csdn.net/fu_huo_1993/article/details/128793935

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯