将搜索模板推送到ElasticSearch时无效的json

时间:2017-09-19 10:09:56

标签: elasticsearch mustache elasticsearch-5 elasticsearch-query elasticsearch-template

我正在开发一个webapp,我在启动时将我的搜索模板推送到ES并使用它们在运行时形成弹性搜索查询。我有一个要求,其中,我不知道要应用的过滤器数量。创建了一个搜索模板,如 -

{
    "filters" : {
            {{#toJson}}
            clauses
            {{/toJson}}"            
        }
}

搜索会像这样 -

获取_search / template

{
    "id": "template-id",
    "params": {
        "clauses": {
             "filters" : {
            { "match": { "user" : "foo" } },
            { "match": { "user" : "bar" } }
        }
   }
}

将结果呈现为 -

{
    "filters":{
      "filters":{
          "match" : {
                "user" : "foo"
            }
          },
          {
            "match" : {
                "user" : "bar"
            }
          }
       }
   }

根据ES文件的建议 - https://www.elastic.co/guide/en/elasticsearch/reference/current/search-template.html

但是,由于它是一个无效的JSON,它不允许我将模板推送到ES。

当我在elastic-home / config / scripts中将其用作存储模板时,我的模板运行良好。但我想用JAVA管理我的模板,只在启动期间推送所有模板。 我能得到任何帮助吗?

0 个答案:

没有答案