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

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

  •  
  •   dangyuluo · 2016-09-04 10:13:40 +08:00 · 5644 次点击
    这是一个创建于 3003 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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