专栏名称: OSC开源社区
OSChina 开源中国 官方微信账号
目录
相关文章推荐
程序员小灰  ·  我的项目,彻底爆了! ·  昨天  
OSC开源社区  ·  Nodejs的竞争者Bun又整活了,Bun. ... ·  4 天前  
程序员小灰  ·  75k,确实可以封神了! ·  2 天前  
码农翻身  ·  国外这些IT巨头,都这么“不要脸”了吗? ·  2 天前  
51好读  ›  专栏  ›  OSC开源社区

RedisLabs 团队开发,高性能全文搜索引擎 RediSearch

OSC开源社区  · 公众号  · 程序员  · 2017-11-15 08:32

正文


授权协议:AGPL

开发语言:C/C++ 

操作系统:跨平台


RediSearch是一个高性能的全文搜索引擎,可作为一个Redis Module 运行在Redis上,是由RedisLabs团队开发的。



主要特性


RediSearch 是在Redis基础上从0开始开发的一个全文搜索索引,使用新的Redis Modules API来扩展Redis新命令和能力,它的主要特性包括:


  • 简单,快速索引和搜索

  • 数据存储在内存中,使用内存-有效的自定义数据结构

  • 支持多种使用UTF-8编码的语言

  • 文档和字段评分

  • 结果的数值过滤

  • 通过词干扩展查询

  • 精确的短语搜索

  • 按特定属性过滤结果(例如仅在标题中搜索“foo”)

  • 强大的自动提示引擎

  • 增量索引(不需要对索引进行优化和压缩)

  • 支持用作存储在另一数据库中的文档的搜索索引

  • 支持已经在Redis中存在的HASH对象作为文件的索引

  • 扩展到多个Redis实例


性能



基准设置


  • 数据集:从维基百科页面提供的有用的英文摘要的转储,其中包括510万短摘要。

  • 基准测试:我们针对不同的搜索引擎运行了几个具有不同配置文件的查询。并行的运行1, 8, 16、32和64个并发客户端执行每个查询。我们也跑了自动完成测试,从具有相同客户端并发配置文件的数据集中测试前1100名最受欢迎的2和3个字母前缀。

  • 物理配置:2个 c4.4x large AWS EC2 Instance,每一个配置16核,32GB内存 和 SSD EBS 存储,一个用作client,另一个运行 servers

  • 搜索引擎测试

    • RediSearch:5个分片运行在5个Redis Masters上,没有负载均衡,冗余或内置的缓存,此设置最多使用了Server机器的5个CPU核心。

    • ElasticSearch:一个实例有5个分片,过滤器缓存已禁用,在基准测试中,ElasticSearch使用了所有的16个CPU核心,因为它是多线程的。

    • Solr:solr-cloud的两个实例,每一个实例上面运行2个分片,缓存是完全禁用的,在基准测试过程中,Solr也是使用了所有的16个CPU核心。



推荐阅读

Mozilla 有史以来最好的正式版 Firefox 57 即将来袭!新特性一览

用 Electron 打造 Win/Mac 应用,从「代码」到可下载的「安装包」

MINIX 成世界最流行的操作系统,暗藏着最大的威胁?

深度解读 Tomcat 中的 NIO 模型

14 个你可能不知道的 JavaScript 调试技巧

点击“阅读原文”查看更多精彩内容