Поиск пустых / существующих массивов вasticsearch - PullRequest
0 голосов
/ 23 апреля 2020

В настоящее время я используюasticsearch 6.5.4 и пытаюсь запросить все документы в индексе с пустым массивом в указанном поле c. Я обнаружил, что у упругого поиска существует dsl , который должен охватывать случай пустого массива. Проблема заключается в следующем: когда я запрашиваю обязательное, не существует, do do 1015 * не возвращается, а когда я запрашиваю, должен не существовать, все документы возвращаются. Поскольку я не могу поделиться фактическим отображением по юридическим причинам, я могу дать вам следующее:

{
  "foo_production" : {
    "mappings" : {
      "foo" : {
        "properties" : {
          "bar" : {
            "type" : "text",
            "index" : false
          }
        }
      }
    }
  }
}

И выполняемый мной запрос:

GET foo_production/_search
{
  "query": {
    "bool": {
      "must": {
        "exists": {
          "field": "bar"
        }
      }
    }
  }
}

Можете ли вы ребята, скажите мне, где проблема?

Примечание: Обновление версииasticsearch не является жизнеспособным решением

1 Ответ

1 голос
/ 23 апреля 2020

Включить индексирование для поля bar, установив "index" : true

Параметр индекса определяет, будут ли индексированы значения поля. Он принимает значение true или false и по умолчанию принимает значение true. Поля, которые не проиндексированы, не подлежат запросу.

Источник: https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-index.html

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