ドキュメント内の任意のフィールドに一致する文字列「user」で全文検索を実行し、フィルターを適用して、x フィールドの値が「abc」または「xyz」のいずれかであるレコードのみを取得したいと考えています。
Sense をいじると、以下のリクエストが私の要件を満たします。
GET _search
{
"query":{
"filtered":{
"query":{
"query_string": {
"query": "user"
}
},
"filter":
[
{"term": { "x": "abc"}},
{"term": { "x": "xyz"}}
]
}
}
}
しかし、私はJava APIが上記のことをしたいと思っています。エラスティック ドキュメントと SO を検索しましたが、 QueryBuilders.filteredQuery のような API が非推奨のように見えるため、探しているものが見つかりませんでした。現在 2.3.4 を使用していますが、アップグレードできます。