Elasticsearch搜索模板不使用术语查询

时间:2017-09-05 11:06:32

标签: elasticsearch search

我有一个带有长字段的索引,我只是尝试使用搜索模板来使用术语查询,但它会抛出异常。

"pid": {
         "type": "long"
       }

搜索模板: PUT / _search / template / article_query_template

{
 "template": {
 "query": {
 "terms": {
 "pid": "{{articleId}}"
 }
}
}
 } 

搜索查询:

POST test2 * / _ search

{
  "query": {
          "template": {
              "id": "article_query_template", 
              "params" : {
                  "articleId" : ["1"]
              }
          }
      }
}

例外:原因":" [条款]查询不支持[pid]"。

它的工作没有模板。如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

像这样创建模板:

{
"source": {
    "query": {
        "term": {
            "message": "{{query_string}}"
        }
    }
}
}

并传递如下参数:

{
"id": "<templateName>", 
"params": {
    "query_string": "search for these words"
}}

更多详细信息可用,here