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

有没有可以替代 ElasticSearch 的轻量级产品

  •  
  •   DeadLion · 2018-11-12 10:25:35 +08:00 · 12428 次点击
    这是一个创建于 2234 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用 es 搜索确实很好用,但是对于一些小数据量的搜索,有没有其他方案?
    直接查 db 的话对于一些复杂查询还是不友好。
    对于几千几万条的数据直接初始化到内存中进行搜索,可行么?

    29 条回复    2018-11-15 09:39:19 +08:00
    w2exzz
        1
    w2exzz  
       2018-11-12 10:31:51 +08:00
    同求……
    也有这样的需求
    luozic
        2
    luozic  
       2018-11-12 10:31:52 +08:00
    solr 或者直接上 postgresql 加插件
    mumbler
        3
    mumbler  
       2018-11-12 10:33:55 +08:00
    直接用阿里云的开放搜索
    orangeade
        4
    orangeade  
       2018-11-12 10:40:59 +08:00
    mysql 有全文索引了 不过生产环境实践的例子还比较少
    alwayshere
        5
    alwayshere  
       2018-11-12 10:44:51 +08:00
    以前用的 xunsearch,后来转 ES
    leriou
        6
    leriou  
       2018-11-12 13:35:39 +08:00
    全文索引 mongodb 啊
    baijunyao
        7
    baijunyao  
       2018-11-12 13:49:55 +08:00   ❤️ 1
    php 的话可以试试 TNTSearch ; https://baijunyao.com/article/154
    mnhkahn
        8
    mnhkahn  
       2018-11-12 14:09:05 +08:00
    boltdb
    simapple
        9
    simapple  
       2018-11-12 14:13:19 +08:00
    xunsearch 或者 sphinx 或者直接用 mysql
    v2dead
        10
    v2dead  
       2018-11-12 14:46:50 +08:00   ❤️ 1
    之前用 golang 写过一个内部用的文档检索,用的 github.com/go-ego/riot,还行,
    但是有另外一个关联项目 github.com/huichen/wukong 不知道怎么样,riot 看起来比较新一点而且更新似乎还算活跃。
    kwklover
        11
    kwklover  
       2018-11-12 15:18:47 +08:00
    这个要看什么类型的数据吧,类似 ES 之类的工具适合文本比较多的场景,其他的数据检索可能 SQL 更好吧。
    gsralex
        12
    gsralex  
       2018-11-12 15:22:58 +08:00
    为什么没人回答 lucene ?
    chnyang
        13
    chnyang  
       2018-11-12 15:25:35 +08:00
    sphinx+mysql 轻量级方案
    kslr
        14
    kslr  
       2018-11-12 15:28:50 +08:00
    买第三方公司的,比如 algolia
    DeadLion
        15
    DeadLion  
    OP
       2018-11-12 15:30:31 +08:00
    @gsralex es 就是基于 Lucene 的
    janxin
        16
    janxin  
       2018-11-12 15:30:46 +08:00
    数据量小直接用 PostgreSQL ?
    DeadLion
        17
    DeadLion  
    OP
       2018-11-12 15:31:38 +08:00
    @janxin 和 mysql 相比有啥特别的地方吗?
    gsralex
        18
    gsralex  
       2018-11-12 15:33:14 +08:00   ❤️ 1
    @DeadLion 是啊,所以才说为什么不直接用 lucene,在没有 es 的时候,或者 es 没有流行起来的时候,我们都是用 lucene+客户端分片。
    DeadLion
        19
    DeadLion  
    OP
       2018-11-12 15:37:16 +08:00
    @gsralex es 已经简化 lucene 了,但是他们本身是用于大数据情况下能发挥出最大性能。
    在数据量比较小的情况下,有没有更轻量级的同类应用或者方案之类的。
    gsralex
        20
    gsralex  
       2018-11-12 15:39:16 +08:00
    首先你的搜索是什么样的,是 b+数索引无法满足吗的那种,比如乱序查询。A、B、C 三个条件,AB 查,BC 查,AC 查,C 查之类的吗?
    gsralex
        21
    gsralex  
       2018-11-12 15:40:34 +08:00
    数据量很小指的是多小?“几千几万条”?你可以根据场景在内存中加入前缀树之类的数据结构的。
    DeadLion
        22
    DeadLion  
    OP
       2018-11-12 15:53:21 +08:00
    @gsralex 比如说相关性权重分之类的 多词匹配啊 可以各种复合条件查询啊 geopoint 类型之类的( mysql 最新版好像支持了,不知道能支持到什么程度)
    gsralex
        23
    gsralex  
       2018-11-12 15:56:05 +08:00
    @DeadLion 那还是用 es 吧,这么复杂,你如果放到内存查询的话那就是 logn 的复杂度喽
    tt67wq
        24
    tt67wq  
       2018-11-12 17:04:53 +08:00
    自己做个分词,然后存 redis 里面。。。
    janxin
        25
    janxin  
       2018-11-12 17:08:11 +08:00
    @DeadLion 没用过 MySQL 的全文搜索
    mmdsun
        26
    mmdsun  
       2018-11-12 23:11:28 +08:00 via Android
    solr ?
    kandan
        27
    kandan  
       2018-11-13 08:50:48 +08:00
    @mumbler 你这个产品好像是要钱的
    mumbler
        28
    mumbler  
       2018-11-13 17:13:59 +08:00
    @kandan 花一点点钱就能解决的事,干嘛要浪费时间
    pc10201
        29
    pc10201  
       2018-11-15 09:39:19 +08:00
    阿里云日志服务,按量付费,很划算
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1034 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:42 · PVG 03:42 · LAX 11:42 · JFK 14:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.