Elasticsearch получить документы, где недвижимость не пуста - PullRequest
0 голосов
/ 14 сентября 2018

Если я хочу вернуть все документы, которые имеют пустое свойство (IMG), я могу сделать что-то подобное:

GET something/_search/?
{
  "query": {
    "term": {"IMG": ""}
  }
}

Это работает, потому что IMG является ключевым словом. Если я хочу точное обратное , что означает получить все документы, где IMG не равно нулю, что я должен набрать? Есть ли "обратный" запрос term?

Другими словами, есть ли способ с Elasticsearch получить документы, где свойство не пусто ?

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

Приведенное выше решение также вернет документы с нулевым полем, что, я думаю, не нужно.Таким образом, правильное решение будет следующим:

GET memoire/_search/?
{
  "query": {
    "bool": {
      "filter": {
        "exists": {
          "field": "test"
        }
      },
      "must_not": {
        "term": {
          "test.keyword": ""
        }
      }
    }
  }
}
0 голосов
/ 14 сентября 2018

Вот решение.Используйте must_not с term запросом.Это должно работать:

GET memoire/_search/?
{
  "query": {
    "bool": {
      "must_not": {
        "term": {"IMG.keyword": ""}
      }
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...