• 请不要在回答技术问题时复制粘贴 AI 生成的内容
robertding
V2EX  ›  程序员

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

  •  
  •   robertding · Sep 16, 2019 · 3529 views
    This topic created in 2432 days ago, the information mentioned may be changed or developed.

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

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