没有注册

我有一个查询,我需要筛选结果。

这是我的查询

{ "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] 。 我清楚地有一个查询过滤字段。 我正在按照弹性search页面上过滤的查询文档中给出的格式。 https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-filtered-query.html

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 ] } } } } } 

PS:您正在查看的参考页位于附录的“已删除页面”,因此它不再是主要文档的一部分。