【发布时间】:2016-08-27 07:07:51
【问题描述】:
我是弹性搜索的新手。我已经成功设置了弹性搜索服务器并在 laravel 中实现了 ES 包。现在我可以将数据添加到弹性搜索,但问题是如何连续更新嵌套项值?我在这里添加了我的数据结构的屏幕截图a link!
现在如何用我想要的内容更新comment_id 1?
【问题讨论】:
标签: laravel amazon-web-services search elasticsearch
我是弹性搜索的新手。我已经成功设置了弹性搜索服务器并在 laravel 中实现了 ES 包。现在我可以将数据添加到弹性搜索,但问题是如何连续更新嵌套项值?我在这里添加了我的数据结构的屏幕截图a link!
现在如何用我想要的内容更新comment_id 1?
【问题讨论】:
标签: laravel amazon-web-services search elasticsearch
在您的情况下,这将是一个小问题。 你应该知道elasticsearchindex arrays的方式。
所以在你的情况下,你会得到这样的东西:
{
.
.
"comments":{
"id": [1,2,3],
"comment": ["this is comment1", "this is comment2", "this is comment3"]
}
}
所以你失去了“id”和“comment”之间的相关性。 如果您想保持这种相关性,您需要在映射中将“cmets”定义为“嵌套”。看here。
为了更新您的嵌套文档,您可能需要使用scripted update。
如果您需要更新数组中的特定注释,您可以编写一个脚本来查找并替换它,或者您可以读取整个数组,对其进行编辑并覆盖当前数组。
【讨论】: