Запрос elasticsearch для поиска документов, в которых нет ключа

#elasticsearch

#elasticsearch

Вопрос:

у меня есть журналы, такие как:

 {
  "a":"XXX",
  "b":"YYY",
  "token":"acquired"
}
  

Кроме того, у меня есть журналы, в которых нет этого token набора ключей. Панель терминов Kibana сообщает, что они существуют, показывая их как Missing fields(3047) . Как я могу запросить все документы, в которых нет token набора ключей?

Ответ №1:

Вы можете запросить в ES отсутствующие поля:

Из: http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_dealing_with_null_values.html

 GET /my_index/posts/_search
{
    "query" : {
        "filtered" : {
            "filter": {
                "missing" : { "field" : "token" }
            }
        }
    }
}