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

对于数据库逻辑删除的商品或帖子数据是否应该从 Elasticsearch 删除?

  •  
  •   doggg · 2018-02-15 12:00:35 +08:00 · 5270 次点击
    这是一个创建于 2503 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请教一下各位用 Elasticsearch 的公司的前辈一个问题,product,post 表通常有一个 status 表示逻辑删除的字段,当 status=1 表示逻辑删除,此时应不应该从 Elasticsearch 删除这个文档。

    删除:直接从 Elasticsearch 搜索出来的都是可用的文档

    不删除:更新 ES 里的文档,但这样好像需要加过滤剔除 status=1 文档。

    不知道各位前辈的公司习惯用那种方式,各有什么优缺点。

    15 条回复    2018-02-17 19:31:58 +08:00
    mazyi
        1
    mazyi  
       2018-02-15 12:29:36 +08:00 via iPhone
    过滤,逻辑保持一致
    doggg
        2
    doggg  
    OP
       2018-02-15 13:11:39 +08:00
    @mazyi 您的意思是选择不删除 ES 的数据,查询的时候使用过滤?
    mhycy
        3
    mhycy  
       2018-02-15 13:23:45 +08:00
    看用途,如果 ES 仅仅是用于搜索只是一个缓存作用数据能以来数据库重建的话
    为了性能应该从 ES 删除。

    如果有别的用途则另外考虑
    misaka19000
        4
    misaka19000  
       2018-02-15 13:40:58 +08:00 via Android
    应该删除
    doggg
        5
    doggg  
    OP
       2018-02-15 14:52:55 +08:00
    @mhycy 对我最主要的用途应该就是从 DB 拿出来,在做一些对象补充,然后 index 到 ES 而已,暂时没想到有什么骚操作的需求。


    @misaka19000 为什么呢?
    cxbig
        6
    cxbig  
       2018-02-15 16:32:13 +08:00 via iPhone
    保持整洁,删掉的字段我们会做 reindex 同步到 ES。
    doggg
        7
    doggg  
    OP
       2018-02-15 16:38:13 +08:00
    @cxbig 所以查询的时候也是用过滤掉逻辑删除的文档吗?
    kslr
        8
    kslr  
       2018-02-15 17:19:51 +08:00
    如果没有特殊要求就直接同步了,少一点麻烦是一点。
    precisi0nux
        9
    precisi0nux  
       2018-02-16 04:43:22 +08:00 via iPhone
    删了,es 搜索用的,不要和数据储存用的数据库搞混了。
    scriptB0y
        10
    scriptB0y  
       2018-02-16 11:18:36 +08:00
    同建议删了,这种本来就是冷数据,所有的数据信赖数据库里面的就可以了,ES 保持新鲜的有效数据。
    doggg
        11
    doggg  
    OP
       2018-02-16 12:14:37 +08:00 via Android
    @precisi0nux
    @scriptB0y
    公司里面老代码也删除了,看来赞同删除的声音多一些呀。
    chzyer
        12
    chzyer  
       2018-02-16 18:44:12 +08:00 via iPhone
    看量看业务,我司冷热数据比 8:1,你觉得删不删
    dangyuluo
        13
    dangyuluo  
       2018-02-17 05:03:36 +08:00
    感觉还是删掉吧
    cxbig
        14
    cxbig  
       2018-02-17 07:15:59 +08:00 via iPad
    @doggg
    文档做标记是必须的,所有的产品都应该有一个类似 disabled 的 flag 来标记产品是否上线。
    至于确定以后不再售卖的商品,删掉文档也是值得推荐的。
    doggg
        15
    doggg  
    OP
       2018-02-17 19:31:58 +08:00 via Android
    @chzyer 如果说起这个问题,看来还是删了为妙

    @cxbig 嗯,我们也有 on_line 的字段表示是否上架的,综合来看对于数据库逻辑删除的还是 conngES 删掉吧。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1628 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 16:43 · PVG 00:43 · LAX 08:43 · JFK 11:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.