从 ES 检索到数据后,你们还会从数据库里根据主键再捞一遍数据么

2019-09-16 12:36:18 +08:00
 robertding

一种方案是我想要的数据都存 ES 里,数据输出只从 ES 出, 另一种方案是 ES 只存检索数据,拿到主键后再去数据库再捞一遍返回 你们都是怎么做的呢

2852 次点击
所在节点    程序员
8 条回复
sadfQED2
2019-09-16 12:54:07 +08:00
看业务需求而定,这两种我们都有使用
chendy
2019-09-16 13:35:12 +08:00
ES 的批量修改和并发控制比较头疼…不如直接用数据库来的舒服
但是如果用了数据库就要做数据同步
视具体场景而定吧
vebuqi
2019-09-16 13:41:18 +08:00
ES 检索拿到 item id,再用 item id 去取 item profile
misaka19000
2019-09-16 13:49:43 +08:00
看数据量吧,数据量不大就全部存在 ES 就好了
zzl22100048
2019-09-16 13:55:16 +08:00
看索引字段比重,要是所有字段都要做索引,你想不塞 es 也不行
LeeSeoung
2019-09-16 15:02:54 +08:00
简要放 es,详细放数据库
xuanbg
2019-09-16 16:32:46 +08:00
我们是后一种,ES 只放 ID+列表项+搜索项,列表是 ES 直出,详情 MySQL 根据 ID 查询。
linxiaojialin
2019-09-17 10:05:16 +08:00
我们 2 种都有。场景:
1.搜索商品:全部存 ES,从 ES 出;商品信息相对固定,又搜索频率高,直接拿 ES 快速搜索。
2.搜索文章:文章内容存 ES,从 ES 检索出 ID,再捞一遍数据库,同时 with 当前用户数据(浏览量、点赞、收藏、热度等等);文章搜索频率比较低,又侧重不停变化的用户数据,需要拿数据库的最新数据。

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

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

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

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

© 2021 V2EX