「foo bar」などのelasticsearchで特定のフレーズを検索しようとしています。私のクエリは以下のようなものです:
curl -X GET "http://localhost:9200/objects/object/_search" -d '{
"query": {
"bool": {
"must": [
{
"query_string": {
"query": "\"foo bar\"",
"default_field": "_all"
}
}
]
}
}
}'
インデックスに次のような 2 つのオブジェクトがあります。
{
sub_sections: [
{
name: "foo"
},
{
name: "bar"
}
]
}
と
{
sub_sections: [
{
name: "foo bar"
}
]
}
クエリで二重引用符を使用すると、フレーズに一致する最後のオブジェクトのみが返されることを期待しています。ただし、両方のオブジェクトが常に返されます。auto_generate_phrase_queries
++のようなオプションを試しましたが、これまでのところ運がありません。
これは予想される動作ですか?完全に一致するフレーズを含むドキュメントのみを返すにはどうすればよいですか?