2012-02-01 8 views
5

サブオブジェクトフィールドのElasticSearchでフィルタ検索を実行するにはどうすればよいですか?Elasticsearchでサブオブジェクトフィールドを検索しました

{_id: 000, merchant: "merchant_1", email: "[email protected]"}

マイ検索クエリ:

"query": { 
    "filtered": { 
     "filter": { "term": { "data.merchant": "merchant_1"} }, 
     "query": { 
      "query_string": {"query": "hello"} } 
     } 
    } 
} 

doesnの」は、例えば、私の文書がid、およびデータは、私のデータベースに格納されていたかのJSON配列であるdataフィールドを持っています何も返さないが、単にquery_string helloでクエリを実行すると、正しい行が返されます。 "data.merchant" =>"merchant"を変更しても、何も変更されません。

ここで何か問題がありますか?

更新:私はブーリアンクエリを使用しました。これはうまく機能しました。

答えて

0
"query": { 
    "filtered": { 
     "filter": { "term": { "data.merchant": "merchant_1"} }, 
     "query": { 
      "query_string": { 
       "default_field": "_all", 
       "query": "hello" 
      } 
     } 
    } 
} 

これはあなたの場合に有効です。

関連する問題