По-видимому, я могу запросить ES со следующим подстановочным знаком query_string:

curl 'http://localhost:9200/my-index/_search?pretty' -d '{
  "query": {
    "query_string": {
      "query": "*:sw?ft"
    }
  }
}'

Соответствует ли этот запрос полю _all? что делает его эквивалентным:

curl 'http://localhost:9200/my-index/_search?pretty' -d '{
  "query": {
    "query_string": {
      "default_field" : "_all"
      "query": "sw?ft"
    }
  }
}'

Что, если _all отключен в индексировании? Я не смог найти к нему документацию.

Заранее спасибо.

1
fast tooth 27 Окт 2015 в 22:51

2 ответа

Лучший ответ

Прежде всего, это документация для запроса query_string:

И у него есть ответы на оба ваших вопроса:

Если не указать явно поле для поиска в запросе строковый синтаксис, index.query.default_field будет использоваться для получения в каком поле искать. По умолчанию используется поле _all.

Итак, если поле _all отключено, имеет смысл изменить его на установить другое поле по умолчанию.

0
Evaldas Buinauskas 27 Окт 2015 в 20:31