elasticsearch 查询某个字段是null
时间: 2024-05-12 12:19:38 浏览: 137
可以使用exists查询来查询某个字段是否存在,如果查询结果为空,则说明该字段为null。
例如,查询名为“field”的字段是否为null:
```
GET /my_index/_search
{
"query": {
"bool": {
"must_not": {
"exists": {
"field": "field"
}
}
}
}
}
```
如果查询结果为空,则表示“field”字段为null。
相关问题
es查询某个字段不为null
在Elasticsearch查询中,如果你想要查找某个字段不为null的数据,你可以使用`exists`查询或者`not null`过滤器。以下是两种常见的方法:
1. 使用`exists`查询:
```json
GET /your_index/_search
{
"query": {
"term": {
"field_name": { "exists": true }
}
}
}
```
这里,`field_name`是你想要检查的字段名,如果该字段存在并且值不为null,则结果会被返回。
2. 使用`term`或`match`查询加上`null_value`选项(仅适用于某些特定类型的字段如日期、数字等):
```json
GET /your_index/_search
{
"query": {
"term": {
"field_name": { "null_value": false }
}
}
}
```
如果`field_name`不是null,则查询结果包含该文档。
es查询字段为null
要查询字段为null的文档,可以使用`missing`查询和`exists`查询来实现。
1. missing查询:查询指定字段不存在或者为null的文档。
示例:
```
GET /my_index/_search
{
"query": {
"bool": {
"must_not": {
"exists": {
"field": "my_field"
}
}
}
}
}
```
这个查询会返回所有`my_field`字段不存在或者为null的文档。
2. exists查询:查询指定字段存在且不为null的文档。
示例:
```
GET /my_index/_search
{
"query": {
"exists": {
"field": "my_field"
}
}
}
```
这个查询会返回所有`my_field`字段存在且不为null的文档。
阅读全文