文章目录 1、背景2、需求3、准备数据3.1 创建mapping3.2 插入数据 4、查询 `name`字段为null的数据5、查询`address`不存在或值直接为null的数据6、参考
在我们向es中写入数据时,有些时候数据写入到es中的是null,或者没有写入这个字段,那么这个时候在es中该如何查询出这种为null的数据呢?
假设我们的mapping存在 如下2个字段name和address,其中 name是keyWord类型且使用了null_value来处理null值,address字段是text类型。
我们插入数据时,存在name和address字段都不存在的,存在name和address是[]或null的数据,我们需要查询出来这些数据。
PUT /index_null_value{ "mappings": { "properties": { "name":{ "type": "keyword", "null_value": "--" }, "address":{ "type": "text" }, "age":{ "type": "integer", "null_value": "-1" } } }} 注意:
null_value 需要和字段的 类型值 保持一致,比如上方的age是integer类型,那么null_value的值就必须是integer类型。null_value 不会修改 _source中的值[]空数组是不会被null_value替换的,因为[]中不包含明确的nullnull_value可以修饰的数据类型有限,比如text类型不可使用。
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} name和 address字段都不存在的name和 address字段 是 [] 的name和 address字段 是 [null] 的name和 address字段 都有值的name字段为null的数据
address不存在或值直接为null的数据

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
--结束END--
本文标题: 如何在es中查询null值
本文链接: https://www.lsjlt.com/news/409925.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-01
2024-04-03
2024-04-03
2024-01-21
2024-01-21
2024-01-21
2024-01-21
2023-12-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0