elasticsearch(es)如何查询指定字段不为空值的结果,空值包含 null 值,对应的 query 语句是什么?
正确答案
es 针对上述用户诉求,提供了 exists query,它属于词项查询类(term query);
在使用 exists query 时,需要明确的是它定义的字段是否存在值的情况有如下几种,假设判断 user 字段不为空值的结果:
-
{ "user" : null }
-
{ "user" : [] }
-
{ "user" : [null] }
-
{ "knowledge" : "dict" }
exists query 语句如下:
{
"query": {
"exists": {
"field": "user"
}
}
}