結果を除外するために必要なクエリがあります。
これは私の質問です
{
"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
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
]
}
}
}
}
}
2つのクエリの違いは次のとおりです。
3,4c3,4
< "bool": {
< "must": {
---
> "filtered": {
> "query": {
6c6
< "operator": "and",
---
> "default_operator": "AND",
シモンズ:あなたが見ている参照ページは付録の「削除されたページ」にあるので、それはもう主要なドキュメンテーションの一部ではありません。