gpt4 book ai didi

friend 到 friend 列表的 Elasticsearch 映射

转载 作者:行者123 更新时间:2023-11-29 02:56:47 25 4
gpt4 key购买 nike

我们已经开始在我们的项目中使用elasticsearch,我们将用户数据和他的 friend 列表存储为嵌套对象,并嵌套到存储 friend 的 friend 列表的嵌套对象,因为我们在进行全局搜索时需要这些数据。现在我们正在将这些数据与我们的数据库实时同步,所以这对以 50-100 TPS 的速度实时完成同步是否有益,否则将来会产生问题。

我们需要创建复杂的查询来更新数据,因为我们在第 2 级管理好友列表。那么如何轻松地创建高级脚本,我已经在谷歌中检查过这个但没有找到任何详细信息。

如果我的做法有误,请告诉我。

最佳答案

回答你的第一个问题

so is this good to syncing done in real time 50-100 TPS or in future it will create problem

从 ES6.0 版本开始,自动支持和检测多级嵌套,如果内部嵌套查询存在于另一个嵌套查询中,则它会自动匹配相关的嵌套级别(而不是根)。但需要注意的是,索引具有 100 个嵌套字段的文档实际上会索引 101 个文档,因为每个嵌套文档都作为单独的文档进行索引。为了防止定义不当的映射,每个索引可以定义的嵌套字段的数量通常使用 index.mapping.nested_fields.limit 限制为 50 个。此设置允许您限制可以手动或动态创建的字段映射的数量,以防止不良文档导致映射爆炸。所以回答你的问题,这很好,但随着你的数据增长,管理变得更加复杂,你冒着映射爆炸的危险。

回答你的第二个问题

We need to create complex queries for updating the data because we are managing friend list in 2nd level. so how to create advance scripting in painless, I have checked this in Google but not found anything in detail.

您可能需要在此处提供一些背景信息才能理解为什么您的方法是必要的,但基本上,在社交资料背景下,像现在这样管理好友列表始终不是一个好主意,尤其是当您预期扩展时将来。它可能适用于较小的用例,但在扩展时效果不佳。这是因为,关系变得更加复杂,您最终会拥有太多的多嵌套对象。如前所述,所有因素都保持不变,您可能需要查看此类场景的图形数据库。但是,您的方法可能有其他原因,这就是为什么您可能想要列举您的背景以便我们更好地提供建议。

希望这对您有所帮助!

关于 friend 到 friend 列表的 Elasticsearch 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47158367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com