Reign

elasticsearch 支持的数据量太小了,对 50 万行数据查询都是 1 秒多,有没有替代产品?

  •  
  •   Reign · Nov 29, 2017 · 21887 views
    This topic created in 3268 days ago, the information mentioned may be changed or developed.

    如题,MySQL 总共 50 万行数据,30 个字段,全部存到 ES 中查询,平均耗时 1 秒,太慢了,虽然我的是渣渣机械盘,也不至于连 50 万行的数据都支撑不了吧,有没有比 ES 更优秀查询时间优化的更好的免费产品???

    Supplement 1  ·  Nov 29, 2017
    忘了加配置:i5+16G+2T 渣渣 HDD
    Supplement 2  ·  Nov 30, 2017
    是不是 30 个字段同时搜索太慢??我是采用 query_string 的搜索:
    'query' =>
    [
    'query_string'=>
    [
    'query'=>$item,
    "default_operator"=>"AND"
    ]
    ]
    Supplement 3  ·  Nov 30, 2017
    30 个字段是把主要的“ article ”字段翻译成了 29 种语言,大家觉得是不是我把 30 种语言揉和成 1 个大杂烩的字段来搜索,会不会变得更快一点???
    44 replies  •  2017-12-01 11:42:03 +08:00
    pathbox
    pathbox
    Nov 29, 2017 via iPhone❤️1
    1
    我相信不是 es 的锅,是你服务器配置太低,内存太少或是 es 查询姿势错误。
    ming2050
    ming2050
    Nov 29, 2017 via iPhone
    2
    你需要怎么查询数据?
    dobelee
    dobelee
    Nov 29, 2017
    3
    普通的全文搜索的话,1 亿数据也不用 1s。
    不说具体的需求就是乱投医。
    zn
    zn
    Nov 29, 2017 via iPhone
    4
    我跟你讲,区区五十万数据我丢到十美元一年的 VPS 速度都比你这个快。

    这锅 ES 不背。
    winglight2016
    winglight2016
    Nov 29, 2017
    5
    这个数量级即使放在 mysql 也不会这么久啊?
    pynix
    pynix
    Nov 29, 2017
    6
    内存应该够了,hdd 的锅吧。。。。
    hljjhb
    hljjhb
    Nov 29, 2017
    7
    先问是不是 再问有没有
    asuraa
    asuraa
    Nov 29, 2017
    8
    没有吧 我 3000 多万条查询也不到三分之一秒啊
    iyaozhen
    iyaozhen
    Nov 29, 2017 via Android
    9
    每天差不多上亿条。除了 SSD 装不下其它没事问题。
    xjqxz2
    xjqxz2
    Nov 29, 2017
    10
    你是不是把 HEAP 设小了 o.o
    knightdf
    knightdf
    Nov 29, 2017
    11
    这个锅 ES 可不背
    murmur
    murmur
    Nov 29, 2017
    12
    怀疑你分词有问题
    Morriaty
    Morriaty
    Nov 29, 2017
    13
    你 show 一下 query 啊,要是各种 aggs 当然慢啊
    locoz
    locoz
    Nov 29, 2017 via Android
    14
    锅不要乱甩。。es 查几千万的数据也就 1 秒不到
    mengzhuo
    mengzhuo
    Nov 29, 2017 via iPhone
    15
    索引要自己定义
    减少分析类的
    减少 shard
    bobuick
    bobuick
    Nov 29, 2017
    16
    50w 数据能慢到 1 秒的话,es 早就在 0.5 版本前被市场喷死在窝里了。
    zhx1991
    zhx1991
    Nov 30, 2017
    17
    你用的有问题

    而且就 50w 的数据, 扔在 mysql 里查也是 5ms 以内就能返回
    dangyuluo
    dangyuluo
    Nov 30, 2017
    18
    感觉是你 mapping 不对
    lyhiving
    lyhiving
    Nov 30, 2017 via Android
    19
    如果是 50 亿条数据我估计会信
    SharkIng
    SharkIng
    Nov 30, 2017
    20
    ES 对于内存和硬盘要求很高的感觉
    我们的近百亿的数据在 15 个机子上,每个 32G 内存+ 8T 的 SSD,查询大量的时候基本平均 2 秒左右
    按理说你这个数据量应该没问题,试试换 SSD 看能快点不。
    alwayshere
    alwayshere
    Nov 30, 2017
    21
    @zhx1991 你确定 50W 用 mysql 的 LIKE 查询能在 5ms ?
    fuxkcsdn
    fuxkcsdn
    Nov 30, 2017 via iPhone
    22
    @alwayshere 听过 mysql 的全文索引吗?
    能否 5ms 我不确定,但 1s 内返回肯定是可以的,上家公司我们 300 万数据也是放 mysql 里用全文索引
    btw,mysql 全文索引和 like 查询是两码事
    kwklover
    kwklover
    Nov 30, 2017
    23
    才 50 万的数据,这个机器配置不算低了,不过 30 个字段是个核心

    如果每个字段都是跟文章一样的长字段,那么其实 50 万数据跟一般概念的 1500 万数据量差不多,也不算小了。

    楼主的什么系统,要索引 30 个字段?
    janxin
    janxin
    Nov 30, 2017
    24
    才 50w 数据,es 没问题的
    thinkmore
    thinkmore
    Nov 30, 2017
    25
    应该是你姿势不对,我们几千万数据也才差不多一秒呢
    jyf
    jyf
    Nov 30, 2017
    26
    跟你配置有关系 我这里 100 亿的数据 只有五六台机器 也就一秒左右
    vus520
    vus520
    Nov 30, 2017
    27
    在 1 亿条数据里查找匹配内容,返回前 50 条。
    共有数据 :5392450 条,显示最新 50 条,用时 382 ms
    yanzixuan
    yanzixuan
    Nov 30, 2017
    28
    @zn 10 刀一年的 VPS 多大内存? es 能跑得起来么?
    well
    well
    Nov 30, 2017❤️1
    29
    5 台服务器,2600 亿,近 50TB,无 SSD,也就秒级能出。如果玩不转建议不要玩。
    vus520
    vus520
    Nov 30, 2017
    30
    @well 50TB 原始数据,还是 50TB 索引之后的数据?我刚刚查了一下,我这不到百亿的数据就 20TB 了。
    well
    well
    Nov 30, 2017
    31
    @vus520 有自己的数据特点,开启了 source。
    Juice520
    Juice520
    Nov 30, 2017
    32
    我普通的全文搜索,1 亿数据耗时不到 100ms
    owenliang
    owenliang
    Nov 30, 2017
    33
    50 万数据磁盘空间 du 看看占了多少,可能内存不太够。
    owenliang
    owenliang
    Nov 30, 2017
    34
    @owenliang 可以压一点搜索流量,iostat 看看机器的 IO 情况。
    farseeraliens
    farseeraliens
    Nov 30, 2017 via iPhone
    35
    楼主需要的是用一个 language model 先判别语言,再在该语言特定的列中检索。
    Reign
    Reign
    OP
    Nov 30, 2017
    36
    @farseeraliens 没特别好用的语言检测代码,你推荐个?
    SoulSleep
    SoulSleep
    Nov 30, 2017
    37
    自己不会用甩锅系列...
    50w 数据有几十个 G 嘛?
    4C 16G 服务器,0.0xs 跑的飞起
    omygod
    omygod
    Nov 30, 2017
    38
    16G 内存你给 es 分了多少
    Reign
    Reign
    OP
    Nov 30, 2017
    39
    @omygod 刚刚 export ES_HEAP_SIZE=10g,重启 ES,查询时间还不是一样,我估计用到假的 ES 了
    allenhu
    allenhu
    Nov 30, 2017
    40
    每次看到楼主的帖子都想笑
    sunmonster
    sunmonster
    Nov 30, 2017
    41
    50 万的话,mysql 查询都不用 1s
    jatesun
    jatesun
    Dec 1, 2017 via iPhone
    42
    ES 配置问题吧?我们这每天两千多万数据查询都秒级响应
    gfh110
    gfh110
    Dec 1, 2017
    43
    分词的问题吧
    armstrong
    armstrong
    Dec 1, 2017
    44
    这锅 ES 不背
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   942 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 90ms · UTC 21:48 · PVG 05:48 · LAX 13:48 · JFK 16:48
    ♥ Do have faith in what you're doing.