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

一个关于实际应用中 Elasticsearch 做全文检索定位的问题

  •  
  •   dangyuluo · Sep 4, 2016 · 6393 views
    This topic created in 3563 days ago, the information mentioned may be changed or developed.

    最近在将 Elasticsearch 整合进一个商城项目中,但是遇到了一点定位问题。

    我目前有两种可以使用 Elasticsearch 的方法:

    1 ,将所有店铺数据转移至 ES 内,放弃 MySQL 数据库。以后所有全文检索、单个店铺信息展示均从 ES 内获取数据。

    2 ,在将数据填充到 ES 之后,保留 MySQL 数据库。 ES 仅做全文检索,并仅仅返回满足要求的店铺的 ID 。而真正展示的数据(无论是搜索列表,还是具体店铺页面)均从 MySQL 内根据检索到的 ID 获取。

    这二者均有优点和缺点,不知道大家会选择那种?希望有做过全文检索的朋友支招。

    11 replies    2016-09-04 16:04:34 +08:00
    Jaylee
        1
    Jaylee  
       Sep 4, 2016
    同步脚本定期同步到 es 中
    dangyuluo
        2
    dangyuluo  
    OP
       Sep 4, 2016
    @Jaylee 也就是选择第二种咯?那么这个定期一般是多久呢?
    ihuotui
        3
    ihuotui  
       Sep 4, 2016 via Android
    一般都是第二
    ihuotui
        4
    ihuotui  
       Sep 4, 2016 via Android
    同步时间看需求
    leyle
        5
    leyle  
       Sep 4, 2016   ❤️ 1
    我是这样处理的,在产生、修改数据时,同步增加、更新数据到 es 中,前台读取数据从 es 读,后台读取数据从 MySQL 读取。
    xcatliu
        6
    xcatliu  
       Sep 4, 2016 via iPhone
    建议第二种吧
    Yuansir
        7
    Yuansir  
       Sep 4, 2016
    用 es 的 mysql 同步 driver ,用第二种
    kkzxak47
        8
    kkzxak47  
       Sep 4, 2016 via Android
    第二种啊,一种工具有自己的定位,数据库就是数据库,搜索引擎就是搜索引擎。
    在把这些工具用出花来之前,老老实实的按他们的原始设定功能来用就好。
    也可以适当的增加冗余,把常用的字段也存到 es 里面,比如搜索列表里用到的标题,摘要,时间等等。
    jerry14
        9
    jerry14  
       Sep 4, 2016
    选择第二种,检索分析用 ES ;而产品业务的增查改用 Mysql 。你混在一起用,开发成本高,你肯定要用 ES 的 analyzed ,这搜索肯定会影响其他查询、增加操作
    kingoldlucky
        10
    kingoldlucky  
       Sep 4, 2016
    看并发量~小的话,直接 ES,简单. 并发量大的话就要考虑很多了
    Suclogger
        11
    Suclogger  
       Sep 4, 2016
    数据持久化在 mysql ,通过 binlog 获取变更推送到搜索,所有检索走搜索 ,列表信息可以都从搜索拿,详情可以酌情直接取数据库或者放 redis
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   935 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 19:09 · PVG 03:09 · LAX 12:09 · JFK 15:09
    ♥ Do have faith in what you're doing.