no зарегистрирован для
У меня есть запрос, который нужно отфильтровать.
Это мой запрос
{ "query": { "filtered": { "query": { "multi_match": { "default_operator": "AND", "fields": [ "author", "title", "publisher", "year" ], "query": "George Orwell" } }, "filter": { "terms": { "year": [ 1980, 1981 ] } } } } }
Я получаю сообщение об ошибке, когда no [query] registered for [filtered]
. У меня явно есть запрос для фильтрованного поля. Я следую формату, указанному в отфильтрованной документации запроса на странице elasticsearch. https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-filtered-query.html
- ElasticSearch - возвращает уникальные значения
- Как нечеткое соответствие электронной почте или телефону Elasticsearch?
- Кодировка UTF8 длиннее максимальной длины 32766
- Как проиндексировать PDF-файл в Elasticsearch 5.0.0 с помощью плагина ingest-attachment?
- Как не анализировать в ElasticSearch?
- ES продолжает возвращать каждый документ
- Как изменить максимальный размер памяти Elasticsearch
- Запросы против фильтров
- ElasticSearch, Sphinx, Lucene, Solr, Xapian. Что подходит для использования?
- Поиск имени файла с помощью ElasticSearch
- Импортировать / индексировать файл JSON в Elasticsearch
- Расчет времени между событиями
- Как найти часть слова с помощью ElasticSearch
filtered
запрос устарел и удален в ES 5.0. Теперь вы должны использовать запрос bool/must/filter
.
{ "query": { "bool": { "must": { "multi_match": { "operator": "and", "fields": [ "author", "title", "publisher", "year" ], "query": "George Orwell" } }, "filter": { "terms": { "year": [ 1980, 1981 ] } } } } }
Ниже приведены различия между двумя запросами:
3,4c3,4 < "bool": { < "must": { --- > "filtered": { > "query": { 6c6 < "operator": "and", --- > "default_operator": "AND",
PS: справочная страница, на которую вы смотрите, находится на «удаленных страницах» приложения, поэтому она больше не входит в основную документацию.