2017-08-11 85 views
0

我試圖將參數列表傳遞給Elasticsearch中的搜索查詢(按條件篩選)。它的工作原理時,它不是一個模板,只需在查詢:將一個列表傳遞給Elasticsearch查詢模板

"terms": { 
     "speaker": ["HAMLET", "KING HENRY IV"] 
     } 

我已經把它放入模板是這樣的:

"terms": { 
      "{{filter1}}": "{{filter1_val}}"} 
     } 

然後調用它像這樣:

GET shakespeare/_search/template 
{ 
    "id":"template", 
    "params": { 
    "filter1": "speaker", 
    "filter_value1": ["HAMLET", "KING HENRY IV"] 
    } 
} 

而且我得到以下錯誤:

{ 
    "error": { 
    "root_cause": [ 
     { 
     "type": "parsing_exception", 
     "reason": "[terms] query does not support [speaker]", 
     "line": 1, 
     "col": 98 
     } 
    ], 
    "type": "parsing_exception", 
    "reason": "[terms] query does not support [speaker]", 
    "line": 1, 
    "col": 98 
    }, 
    "status": 400 
} 

我已經嘗試向模板本身添加括號,例如「{{filter1}}」:[{{filter1_val}}]並添加引號並刪除它們,並以「[\」HAMLET \「,\」 「KING HENRY IV \」]「,但沒有一個工作。

我在做什麼錯?什麼是正確的方法來做到這一點?歡迎任何建議。

謝謝!

回答