部分更新ElasticSearch索引中的嵌套记录

时间:2016-10-07 12:48:31

标签: elasticsearch nest

我在项目中使用ElasticSearch 2.x和Nest 2.

我面临一个问题,我需要更新嵌套记录,但Elasticsearch不会这样做,而是删除记录并重新索引它们。

因此,由于这种情况,我需要始终发送所有嵌套记录以及更新的记录以更新嵌套记录。

所有人都有解决方案吗?我可以只更新记录而无需重新索引所有记录吗?

先谢谢你的帮助.. !!

1 个答案:

答案 0 :(得分:1)

试试这个, 它对我有用

POST /yourindex/type/_id/_update

{     "脚本" :{

"inline" :  "if (ctx._source.yourarray == null || ctx._source.yourarray.size() == 0){ ctx._source.yourarray = params.uuuser}  else {ctx._source.yourarray.add(params.newarray[0]) } ", 
"params" : {
    "newarray" :[ 
   {"c1":"dfgfgsdf",
     "c2":"can2",
     "ce":" can2@can.co",
     "cp":475522778,
     "d1":[
       {
         "e1":"fffff",
         "ffff":[{"g1":"hhhhh"},{"g2":"iiiiii"}]
       }
       ]

   }

]
}
}

}