高性能全文搜索引擎 RediSearch

高性能全文搜索引擎 RediSearch

AGPL
C/C++ 查看源码»
跨平台
2017-07-10
达尔文

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核心。

加载中

评论(28)

了不起的盖茨比A
这种东西 不能用,测试一波聚合看看
云风来
支持中文分词?倒排索引?
一枚假程序猿
一枚假程序猿
就想问支持中文分词等不?
kiki1000
kiki1000
就看到一些javaer在叽叽歪歪,作者不是说了吗,性能高,难倒说三遍
微凉
微凉
毫无任何价值,redis基于内存,把es或者solr放内存,这样比,能快多少,我不见得会快。
梦朝思夕
梦朝思夕
把缓存禁止了才来压测,太坑爹了
longkeyy
longkeyy
510万短摘要 在SOLR上单核模式,1CPU,4G内存平均响应应该可以在20毫秒以内,有兴趣的朋友可以测试下。
encro
encro
基于 Snowball,也就是说分词天生有缺陷。比如“高性能全文搜索引擎 RediSearch”搜"高能"也能搜出来。
冰力
冰力
是在Redis基础上从0开始开发的?在 Redis 基础上就不能算是从0开发啊,原文这么写的吗?而且 Redis 是否也像 es / solr 一样禁止了缓存对比的?
素剑步青尘
素剑步青尘
重复造轮子,所以java虽然开源,但也是各种框架最多的,大家都喜欢造轮子

RediSearch 1.2.0 发布, 高性能全文搜索引擎

RediSearch 1.2.0 发布,此版本包含很多新的酷炫功能,包括: 聚合过滤器 查询属性 模糊匹配 有条件的更新 反斜杠转义 同义词支持 详情见发布公告。 RediSearch 是一个高性能的全文搜索引擎,...

05/16 11:17

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

RediSearch

RediSearch是一个高性能的全文搜索引擎,可作为一个RedisModule(扩展模块)运行在Redis(4.0以上版本)上。 一、主要特性包括: (1) 简单,快速索引和搜索 (2) 数据存储在内存中,使用内存-有...

07/25 14:25
14
0
RediSearch 索引创建

## 索引创建 创建一个索引至少需要5个参数: ``` FT.CREATE myIdx SCHEMA title TEXT ``` 如上所示,大写字母表示关键字,小写字母代表索引的属性。该命令创建了一个名为"myIdx"的索引,并且...

05/20 11:32
21
0
Redis开源项目的终极杀手? ——CRUG解读Redis开源协议变更

引言: 数据库制造商 Redis Labs 本周将公司开发的Redis 模块从 AGPL 迁移到将 Apache v2.0 与 Commons Clause 相结合的许可证,对许可证涵盖的软件作了限制。许可证的变更意味着自研 Redis ...

10/30 19:08
10
0
填坑利器?Redis如何弥补传统MySQL架构的不足。

传统MySQL架构难以满足的现代应用程序需求包括: 传统数据库的读/写速度对会话存储等用例不友好; 引入新表或修改现有模式非常复杂,这也导致了添加新功能和应用程序会有困难; 传统数据库会受...

11/25 21:51
4
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部