V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
robertding
V2EX  ›  程序员

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

  •  
  •   robertding · 2019-09-16 12:36:18 +08:00 · 2829 次点击
    这是一个创建于 1897 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    8 条回复    2019-09-17 10:05:16 +08:00
    sadfQED2
        1
    sadfQED2  
       2019-09-16 12:54:07 +08:00 via Android
    看业务需求而定,这两种我们都有使用
    chendy
        2
    chendy  
       2019-09-16 13:35:12 +08:00
    ES 的批量修改和并发控制比较头疼…不如直接用数据库来的舒服
    但是如果用了数据库就要做数据同步
    视具体场景而定吧
    vebuqi
        3
    vebuqi  
       2019-09-16 13:41:18 +08:00
    ES 检索拿到 item id,再用 item id 去取 item profile
    misaka19000
        4
    misaka19000  
       2019-09-16 13:49:43 +08:00
    看数据量吧,数据量不大就全部存在 ES 就好了
    zzl22100048
        5
    zzl22100048  
       2019-09-16 13:55:16 +08:00
    看索引字段比重,要是所有字段都要做索引,你想不塞 es 也不行
    LeeSeoung
        6
    LeeSeoung  
       2019-09-16 15:02:54 +08:00
    简要放 es,详细放数据库
    xuanbg
        7
    xuanbg  
       2019-09-16 16:32:46 +08:00
    我们是后一种,ES 只放 ID+列表项+搜索项,列表是 ES 直出,详情 MySQL 根据 ID 查询。
    linxiaojialin
        8
    linxiaojialin  
       2019-09-17 10:05:16 +08:00
    我们 2 种都有。场景:
    1.搜索商品:全部存 ES,从 ES 出;商品信息相对固定,又搜索频率高,直接拿 ES 快速搜索。
    2.搜索文章:文章内容存 ES,从 ES 检索出 ID,再捞一遍数据库,同时 with 当前用户数据(浏览量、点赞、收藏、热度等等);文章搜索频率比较低,又侧重不停变化的用户数据,需要拿数据库的最新数据。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1766 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:41 · PVG 00:41 · LAX 08:41 · JFK 11:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.