小编典典

Elasticsearch 6.2 / Kibana查询:必须存在一个字段而不得存在一个字段

elasticsearch

我的愿望是搜索存在field_a而不存在fields_b的文档。有没有一种方法可以使用Kibana中的Lucene查询语法(Kibana的Discover部分中的Search字段)进行此操作。

我尝试使用 __missing_:field_b_ 失败( __exists_可行_ )。

我发现了这一点,但并没有太大帮助:

GET /_search
{
    "query": {
        "bool": {
            "must_not": {
                "exists": {
                    "field": "user"
                }
            }
        }
    }
}

阅读 1498

收藏
2020-06-22

共1个答案

小编典典

对于lucene搜索语法:

_exists_:field_a AND !_exists_:field_b

对于elasticsearch搜索语法:

{
 "query" : {
  "bool" : {
   "must" : [
     {"exists" : { "field" : "field_a" }}
   ],
   "must_not": [
     {"exists" : { "field" : "field_b" }}
   ]
  }
 }
}
2020-06-22