【问题标题】:how to update the nested data of elastic search?如何更新弹性搜索的嵌套数据?
【发布时间】:2016-08-27 07:07:51
【问题描述】:

我是弹性搜索的新手。我已经成功设置了弹性搜索服务器并在 laravel 中实现了 ES 包。现在我可以将数据添加到弹性搜索,但问题是如何连续更新嵌套项值?我在这里添加了我的数据结构的屏幕截图a link

现在如何用我想要的内容更新comment_id 1?

【问题讨论】:

    标签: laravel amazon-web-services search elasticsearch


    【解决方案1】:

    在您的情况下,这将是一个小问题。 你应该知道elasticsearchindex arrays的方式。

    所以在你的情况下,你会得到这样的东西:

    {
      .
      . 
      "comments":{
         "id": [1,2,3],
         "comment": ["this is comment1", "this is comment2", "this is comment3"]
      }
    }
    

    所以你失去了“id”和“comment”之间的相关性。 如果您想保持这种相关性,您需要在映射中将“cmets”定义为“嵌套”。看here

    为了更新您的嵌套文档,您可能需要使用scripted update

    如果您需要更新数组中的特定注释,您可以编写一个脚本来查找并替换它,或者您可以读取整个数组,对其进行编辑并覆盖当前数组。

    【讨论】:

    • 嗨,如果我们将 cmets 管理为单独的 "_type" 会怎样?那么我们可以轻松创建搜索添加对吗?或者如果我们将子数据设置为单独的类型有什么问题吗?
    • 我不明白你的建议。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-15
    • 2016-01-06
    • 2020-02-07
    • 2021-09-01
    相关资源
    最近更新 更多