Performance 基于弹性搜索时间的feeds模块的最佳实现方法?
我是弹性搜索的新手,正在寻找最好的解决方案,我可以用它创建一个feed模块,其中包含基于时间的feed以及组和评论 我学的很少,所以我想出了以下的方法Performance 基于弹性搜索时间的feeds模块的最佳实现方法?,performance,elasticsearch,timeline,feed,Performance,elasticsearch,Timeline,Feed,我是弹性搜索的新手,正在寻找最好的解决方案,我可以用它创建一个feed模块,其中包含基于时间的feed以及组和评论 我学的很少,所以我想出了以下的方法 PUT/group { “映射”:{ “groupDetail”:{}, “内容”:{ “_父项”:{ “类型”:“groupDetail” } }, “评论”:{ “_父项”:{ “类型”:“内容” } } } }如果您不经常指定以外的更详细的信息,则很难提出建议。此外,您还没有提到数据的外观。即使在激烈的讨论中,在博客帖子中发表评论也可能是
PUT/group
{
“映射”:{
“groupDetail”:{},
“内容”:{
“_父项”:{
“类型”:“groupDetail”
}
},
“评论”:{
“_父项”:{
“类型”:“内容”
}
}
}
}
如果您不经常指定以外的更详细的信息
,则很难提出建议。此外,您还没有提到数据的外观。即使在激烈的讨论中,在博客帖子中发表评论也可能是罕见的。论坛帖子中的评论/回复(将产生一个巨大的文档)可能会有很大的不同。我个人会从nested开始,看看它是如何运行的,但我也不知道所有的需求,所以这可能是一个非常错误的答案。
- 父/子将相关数据存储在同一个碎片中,作为单独的文档,避免网络李>
- 父/子在检索数据时需要一个连接过程李>
- 嵌套对象将内部和外部对象存储在一起,作为单个文档李>
- 更新嵌套对象将重新索引整个索引,如果您的文档很大,这可能会非常昂贵李>
- 仅更新父项或子项不会影响另一项李>
- 搜索嵌套对象速度较快,节省了连接过程李>
- 当您的群评论越来越多时,添加新评论仍然会重新索引整个内容,这可能非常耗时李>
- 另一方面,搜索父/子评论只需在找到子评论后再查找一次,这是相对可以接受的
- 如果你需要搜索很多但有一些新的注释,也许你可以选择嵌套对象李>
- 否则,选择父/子李>
- 当此提要处于活动状态时,使用父/子来存储它们李>
- 关闭时,即不能再添加注释,将其移动到具有嵌套对象的新索引中李>