gpt4 book ai didi

elasticsearch - Elastic Search 中的一对多关系

转载 作者:行者123 更新时间:2023-11-29 02:51:06 26 4
gpt4 key购买 nike

假设我有 2 个名为“twitter_user”和“twitter_comments”的表。

twitter_users 具有以下字段:用户名和简介twitter_comments 具有以下字段:用户名和评论

显然,一个用户在 twitter_users 中有 1 个条目,在 twitter_comments 中可能有很多条目

我想在 Elastic Search 中同时对 twitter_users 和 twitter_comments 建模,让 ES 在我查询时搜索这两个模型,知道一条评论计入 Twitter 用户的整体相关性得分。

我知道我可以只用 1 个模型来模拟这个,方法是创建一个额外的字段(除了用户名和个人简介)并将所有评论串联起来。但是还有另一种“更清洁”的方法吗?

最佳答案

视情况而定。

如果您只想搜索用户评论、全文和所有字段,只需将所有评论存储在用户对象中(无需连接任何内容):

{
"user" : {
"username" : "TestUser",
"bio" : "whatever",

"comments" : [
{
"title" : "First comment",
"text" : "My 1st comment"
},
{
"title" : "Second comment",
"text" : "My 2nd comment"
}
]
}
}

如果您需要基于评论的查询,您需要将评论映射为 nested (在提交任何数据之前),以便每个评论都被视为一个项目。

对于您的评分,只需添加另一个字段“comment_count”并将其用于您的提升/评分。

关于elasticsearch - Elastic Search 中的一对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13427434/

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