请求一个 Elasticsearch 的一个问题

2020-04-16 18:56:53 +08:00
 yangyifan

我有一个 index 索引用于保存文章的信息。当用户“收藏”了文章,我会把收藏的关联关系放到关系型数据库里(比如:mysql ),当需要实现一个用户收藏的文章列表这样的接口时,应该怎么做是最好的? 我能想到的有两种方案:

第一种方案的优缺点:

第二种方案的优缺点:

求大神一个比较好的方案。

1197 次点击
所在节点    问与答
4 条回复
aureole999
2020-04-16 19:15:42 +08:00
第一种的话你是准备在文章的 index 里加个被哪个用户收藏的 field 的吗?还是新建一个用于关联的 index ?
后者的话好像查询也不会太方便。前者的话如果文章经常被收藏和取消收藏的话每次都得重建文章的索引,不好吧?
ES 好像即使文章部分没改也会重建整个文档的索引吧
aec4d
2020-04-16 21:05:22 +08:00
一楼估计没实际用过 ES,es 有 join. 而且不需要重建。数据量不大的情况下第二种有优势,实现非常简单,性能可以接受,不需要考虑同步问题
数据量大另说
yangyifan
2020-04-16 21:38:23 +08:00
@aureole999 #1 第二种,第一种有点得不偿失了。
yangyifan
2020-04-16 21:39:00 +08:00
@aec4d 谢谢,我尝试一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/663185

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX