Elasticsearch ctx将json对象附加到数组

时间:2019-03-26 08:59:07

标签: elasticsearch

我正在使用无痛和ctx API调用将字符串附加到数组。 对于简单的字符串,它可以正常工作。

我加载的数据是: 申请时间:26 / Mar / 2019:09:25:47 +0100,Cookie:sessionid = 760ddsaa323

POST test/doc/948650eff51e70ecf0e7c38d4afa442d/_update  
{  
"script" : {
    "source": "if(ctx._source.session_cookie_log != null) {ctx._source.session_cookie_log.add(params.newsupp)}",
     "params": {
      "newsupp": "Request time: 26/Mar/2019:09:25:47 +0100, Cookie: sessionid=760ddsaa323"
    }
 }
}

但是,我的要求发生了变化,我必须将JSON对象而不是字符串加载到数组中。

我现在尝试加载的对象是:

{
  "Request time": "26/Mar/2019:09:25:47 +0100",
  "Cookie": "sessionid=760ddsaa323"
}

如何调整我的API调用以加载JSON对象而不是字符串?

1 个答案:

答案 0 :(得分:-1)

将字段(在您的情况下为session_cookie_log)的映射更改为嵌套。

参考:https://www.elastic.co/guide/en/elasticsearch/reference/current/nested.html