1

ドキュメント内の任意のフィールドに一致する文字列「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 を使用していますが、アップグレードできます。

4

1 に答える 1