Elasticsearch: Запрос на поиск, если поле вообще не существует, не должно совпадать [] (пустое поле массива) - PullRequest
0 голосов
/ 17 апреля 2019

У меня есть некоторые документы с полем links : [], в то время как другие документы вообще не имеют поля links.

Я хочу получить документы, у которых вообще нет поля links,Я пробовал следующий запрос:

{
    "query": {
        "bool": {
            "must_not": {
                "exists": {
                    "field": "links"
                }
            }
        }
    }
}

Но этот запрос также возвращает документы с links:[]

1 Ответ

0 голосов
/ 17 апреля 2019

Лучше всего изменить отображение поля, чтобы учесть нулевые значения, см. Эту ссылку ( документация ).

Вы можете использовать подстановочный запрос * внутри логического выражения, чтобы увидеть, есть ли у него какие-либо термины, но это очень неэффективный / медленный способ запроса, который может оказаться непрактичным в зависимости от количества элементов в этом поле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...