2017-04-24 172 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,因爲您的數組中有一個尾隨逗號。 (並且在每個查詢和布爾屬性之後還有一對)JSON規範不允許使用多餘的尾隨逗號。

0

嘗試這樣的: -

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