ElasticSearch:使用脚本参数

时间:2016-02-28 07:42:25

标签: elasticsearch

我正在尝试创建嵌套对象并将字段值设置为文档字段值。我可以用我的逻辑值创建一个非嵌套字段,我可以创建一个带有硬编码值的嵌套字段。但我无法让这两件事情合作。

这是我到目前为止所拥有的。 创建一个嵌套字段:

{
   "script": "ctx._source.displayFields = displayField",
   "params": {
     "displayField": { 
       "displayField": 11
     } 
   }  
}

或者我可以使用脚本来获取值并发送如下字段:

{
  "script" : "if (ctx._source['fielda'] == 'term1') {
   ctx._source['displayField'] = ctx._source['field2']; } 
   else  if  (ctx._source['fielda'] == 'term2') {
   ctx._source['displayFields.displayPrice'] = ctx._source['fieldb'];
}

但是,如果我尝试将一个脚本放在param字段中,就像下面的任何一个一样,我总是会遇到错误。任何建议将不胜感激。

我尝试过但没有工作的事情:

{
  "script": "ctx._source.displayFields = displayField",
  "params": {
     "displayField": { 
        "displayField": "tag"
      },
      "tag" : {
         "script": "ctx._source['numberField']"
      }
    }
}

同时尝试将脚本指定为其子字段或将其作为值。

0 个答案:

没有答案