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

类似知乎和公众号这种富文本数据一般怎么存储?

  •  
  •   luliqu2005 · 27 天前 · 3468 次点击

    如果都保存数据库,肯定影响查询效率,并且搜索也有问题。 我现在 java 技术栈 遇到的问题如下: 1.富文本的存储方案是 mysql,文本,es 或者其他的? 2.公众号或者问答的历史纪录数据怎么设计 3.如果做成 mysql 保存怎么优化搜索

    我现在的技术方案是放到 es 里面。不知道各位大神有什么最佳实践

    第 1 条附言  ·  26 天前
    我是想做一个面向 C 端的自媒体文章发布系统。所以才有这个问题
    20 条回复    2020-06-06 23:58:23 +08:00
    luliqu2005
        1
    luliqu2005   27 天前
    或者有什么开源库分享一下
    iConnect
        2
    iConnect   27 天前 via Android
    存 nosql 或者 cassandra 都可以
    sivacohan
        3
    sivacohan   27 天前 via iPhone
    Postgres + fdw + elasticsearch
    mornlight
        4
    mornlight   27 天前
    常见的就数据库存一份,搜索用额外的 ES 。
    任何正经点的关键词搜索肯定是没法用 MySQL 做的。
    alalida
        5
    alalida   27 天前 via Android
    没理解你的意思,在我看来富文本也是文本,只是多了一些渲染用的修饰符,直接按文本存储应该就可以吧。如果要全文查找,就上 es 。
    catror
        6
    catror   27 天前 via Android
    数据可以冗余,存在多个地方
    falcon05
        7
    falcon05   27 天前 via iPhone
    不存数据库存哪里?
    mostkia
        8
    mostkia   27 天前
    我是直接 page 文件存储,uid=文件名,索引时直接让后台读取文件内容倒内存吐出到前台。性能没怎么测试,感觉文章内容多的话,这样存储比较合适?而且能够方便的备份内容。
    mostkia
        9
    mostkia   27 天前   ❤️ 1
    当然索引还是需要创建存储在数据库的,只是内容以文件形式存放在文件系统里。
    ipwx
        10
    ipwx   27 天前
    存一份富文本,一份全文搜索引擎的倒排索引。关键词,全文搜索。
    luliqu2005
        11
    luliqu2005   27 天前
    @mostkia 这种对磁盘 io 要求很高吧。直接读取文件
    luliqu2005
        12
    luliqu2005   27 天前
    @iConnect
    @sivacohan
    你们说的这种方案又在用吗?没实践过不敢贸然用。现在能想到的就是 db 一份,es 一份。搜素走 es
    ipwx
        13
    ipwx   27 天前
    @luliqu2005 有啥不敢用的,你这是一种正确思路啊。ES 主要就不是数据库,而是全文搜索引擎,有倒排索引的。建议搜索一下全文搜索的基本原理,可不是拿着数据库记录一条条读出来然后 LIKE 匹配那么简单。
    namelosw
        14
    namelosw   27 天前
    S3 或者等价的东西 + ES
    mostkia
        15
    mostkia   26 天前
    还好吧,如果都是文档之类的那一般都是小文件,那比较考验随机独写吧,理论上可能对机械盘不太友好,可以使用固态来优化。当然以上都是基于经验的推理,只能作为以后优化的参考,目前我的站点还没有产生瓶颈的用户数量,优化不存在的[狗头]
    mostkia
        16
    mostkia   26 天前
    srlp
        17
    srlp   26 天前 via iPhone
    存储 mysql,搜索 es
    wangyzj
        18
    wangyzj   26 天前
    mysql + es 呗
    luliqu2005
        19
    luliqu2005   26 天前 via iPhone
    多谢各位大佬,我先按照 es+mysql 组合吧
    luliqu2005
        20
    luliqu2005   26 天前 via iPhone
    多谢各位大佬,我先用 es+mysql 的组合吧
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3188 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:48 · PVG 18:48 · LAX 03:48 · JFK 06:48
    ♥ Do have faith in what you're doing.