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

Redisearch 和 elasticsearch 之间纠结,我这个配置全文搜索该选哪个好?

  •  
  •   alwayshere · 2017-11-27 08:33:25 +08:00 · 7351 次点击
    这是一个创建于 2552 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前服务器配置是 i5+16G+2T HDD,MySQL 共 50 万行,约 1G 大小,当初因为觉得 elastic 配置坑太多而转向基于 xapian 的 xunsearch,目前这 50 万行数据存入 xunsearch 后占了约 3G 的硬盘,试了很多搜索词,平均 query 都在 0.3~0.5s 之间徘徊,感觉有一点慢,搜索配置很简单,就一个文章 id 和文章内容 content 两个字段,目前想转向 Redisearch 或者 elasticsearch,有几点疑问

    1. redisearch 基于内存,elastic 基于硬盘,理论上来说,前者 query 速度完爆后者,有 V 友实测过速度没?
    2. 50 万行的 mysql 存到 redisearch 会不会爆了我的内存,后期可能增加至 100 万行,16G 是不是太小了,我还得经常换服务器??
    3. 数据存到 elastic 会不会比现在 xunsearch 快些?至少 query 控制在 0.1s 之内能行不
    4. 我的虽然是机械盘,为何和 xunsearch 官方 bench 差这么多???,内存还是官方 bench 的 2 倍, http://www.xunsearch.com/site/performance

    请 V 友给点建议,不胜感激

    第 1 条附言  ·  2017-11-27 11:49:01 +08:00
    ES 主要是太复杂而且坑太多,就一个商业炒作出来的东西,本能的排斥
    22 条回复    2018-10-30 20:43:55 +08:00
    yanzixuan
        1
    yanzixuan  
       2017-11-27 08:51:38 +08:00
    没用过 redisearch,但是如果你觉得 elasticsearch 配置坑都多的话,那么 solr 会搞到你哭。
    es 集群可以存取上百亿数据,你这点数据,一个单机版都能搞定。
    mazyi
        2
    mazyi  
       2017-11-27 08:54:18 +08:00 via iPhone
    50 万就要用 es 了额
    oaix
        3
    oaix  
       2017-11-27 09:04:17 +08:00
    > elastic 配置坑太多
    坑太多指的是什么?
    lianyue
        4
    lianyue  
       2017-11-27 09:14:00 +08:00
    以前用过 elastic 单机 3000w 数据 0.5s 以内, 全文索引
    gejigeji
        5
    gejigeji  
       2017-11-27 09:20:35 +08:00 via iPhone
    才 50w es 随便搞搞就行
    superlead
        6
    superlead  
       2017-11-27 09:32:54 +08:00
    es 资料多点 感觉~
    NeinChn
        7
    NeinChn  
       2017-11-27 09:36:55 +08:00
    首先你要知道为什么慢
    理论上平均响应时间在 100ms 应该没啥问题
    但是希望 TP99 在 100ms 有点乐观了
    除非内存能 cache 住你的所有正排文件+内存倒排索引
    一次 HDD 寻道+数据读取就浪费了几毫秒,而 ElasticSearch 这种存储做的特别差的会需要大量读磁盘...
    owenliang
        8
    owenliang  
       2017-11-27 09:40:37 +08:00 via Android
    现在都是 es,我不明白有什么选择困难症?
    murmur
        9
    murmur  
       2017-11-27 09:46:39 +08:00
    慢的话可以考虑下你分词有没有问题 每次分词都不命中转到二元分词或者一元分词上肯定不行
    必要的停用词该去要去 要不索引太鸡儿大了
    owenliang
        10
    owenliang  
       2017-11-27 09:48:11 +08:00 via Android
    另外,我觉得大家连点操作系统常识都没有。

    不知道文件系统有缓存吗,慢说明你内存比数据量小,没法全内存,你的数据结构再牛逼也是磁盘速度。
    simapple
        11
    simapple  
       2017-11-27 09:54:17 +08:00
    升级 mysql 5.7 用 ngram parser,就这么简单
    vus520
        12
    vus520  
       2017-11-27 10:12:35 +08:00
    ES 已经够简单了,安装使用全程无脑,几百万以内的数据大材小用,根本不可能有问题。
    zhengxiaowai
        13
    zhengxiaowai  
       2017-11-27 10:23:51 +08:00
    50W 不多吧。。。。可以用 pg full text search 试试。

    话说方便的就是换成 ssd,可以提升不少
    mooncakejs
        14
    mooncakejs  
       2017-11-27 10:25:19 +08:00
    50w postgres 随便搞,1 亿数据的表,全文搜索都很快。
    codeyung
        15
    codeyung  
       2017-11-27 10:31:31 +08:00
    es
    fiht
        16
    fiht  
       2017-11-27 11:01:53 +08:00
    es
    chcx
        17
    chcx  
       2017-11-27 11:52:01 +08:00
    es 一天 20 亿条日志( sigh TNT
    toku
        18
    toku  
       2017-11-27 12:25:49 +08:00 via iPhone
    晕,只简单用过 solr 和了解过 es
    wph95
        19
    wph95  
       2017-11-27 13:30:30 +08:00
    > ES 主要是太复杂而且坑太多,就一个商业炒作出来的东西,本能的排斥

    。。。 拿还让我们能说些什么 。。。
    Stack Overflow 和 github 搜索功能都是基于 ElasticSearch
    当然你要是说这两个网站都没听过那我就更没说的了
    inflationaaron
        20
    inflationaaron  
       2017-11-27 14:13:10 +08:00 via iPhone
    @yanzixuan solrcloud 真心哭了
    tcpdump
        21
    tcpdump  
       2017-11-27 14:35:03 +08:00
    @wph95 哇靠,居然商业炒作出来的东西, 题主村里刚通网吧。
    niubee1
        22
    niubee1  
       2018-10-30 20:43:55 +08:00
    ES 的坑确实太多, 垃圾
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3331 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 04:56 · PVG 12:56 · LAX 20:56 · JFK 23:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.