0

エッジ ngram を含む Elasticsearch でラップされた Lucene インデックスをクエリしようとしていますが、ブール演算子をそれに適用する方法を理解するためのドキュメントを理解できません。私はこれを持っています:

{
  "query":{
  "bool":{
    "should":[
      {
        "match":{
          "name.partial":"+henry +james"
        }
      }
    ]
  }
}}

それは機能しません (ヘンリーがいてジェームズがいない場合、またはその逆の結果が得られます)、「ヘンリー ジェームズ」、またはヘンリーとジェームズのどちらもありません - 何があっても同じ結果が得られます。必要な動作を取得するにはどうすればよいですか?

4

1 に答える 1

0

そのためには、 query_stringクエリを使用する必要があります。一致クエリを使用する場合、できることは次のようにクエリと使用する演算子を指定することだけだと思います。

{
    "match" : {
        "message" : {
            "query" : "this is a test",
            "operator" : "and"
        }
    }
}
于 2013-01-12T06:42:57.233 に答える