2017-04-24 20 views
0

私はそうのように定義されたelasticsearchクエリを実行しようとしています:弾性検索ブールクエリエラー

query = { 
    "query": { 
     "bool": { 
      "should": [ 
       {"term": {"a": "a1"}}, 
       {"term": {"b": "b1"}}, 
       {"term": {"c": "c1"}}  
      ], 
     }, 
    }, 
} 

es.search("my_index", body=q1) 

をしかし、私は次のエラーを取得する:

RequestError: TransportError(400, 'search_phase_execution_exception',   
'failed to create query: 
... 

クエリの問題点は何ですか?

答えて

0

JSONの解析に失敗している可能性があります。これは、配列内に末尾のカンマがあるためです。 (そして、あなたのクエリとboolの各プロパティの後に2つ以上)JSON仕様では余分な末尾のコンマを使用できません。

0

はこれで試してみてください: -

{ 
    "query": { 
     "bool": { 
      "should": [ 
       {"term": {"a": "a1"}}, 
       {"term": {"b": "b1"}}, 
       {"term": {"c": "c1"}}  
      ] 
     } 
    } 
}