Redis Labs 开发的一个支持全文搜索的 Redis 模块,并支持对中文进行搜索,在生成索引的时候使用压缩和反向索引的方式来减少对内存的占用,并且 RediSearch 还提供精确短语匹配、模糊搜索和数字过滤等方式来增强搜索结果体验。

功能特征

  • 增量索引不会造成性能损耗
  • 支持文档排名(根据tf-idf和用户设置的字段权重进行排名)
  • 支持设置字段权重(比如 title 字段权重为 2.0,description 字段权重为 1.0)
  • 支持使用,ORNOT等运算符进行复杂的布尔查询
  • 支持前缀匹配、模糊匹配、精确短语匹配
  • 支持双元音语音匹配
  • 支持前缀搜索建议
  • 支持中文分词与查询(使用Friso)
  • 支持数值和范围过滤
  • 支持地理空间查询
  • 拥有强大的聚合引擎
  • 支持所有utf-8编码的文本
  • 支持指定搜索结果返回字段
  • 支持搜索结果排序

与行业标杆ElasticSearch在同等硬件环境下进行性能评测对比。

对维基百科560万个文档(约 5.3GB)进行索引,并对索引的数据集做双单词搜索。

生成索引耗时:

第 0003 荐:RediSearch,最快的全文搜索引擎 - 图3

性能对比评测原文:

快速入门

通过docker快速部署

通过二进制进行部署

需要先下载预先编译好了的 redisearch 模块 ==> https://redislabs.com/download-center/modules/

自行编译部署

使用示例

以为例。

安装依赖

示例代码

结语

如果 RediSearch 不是最快的全文搜索引擎,就当我没发过这样标题的内容…(此次隐藏 1024 个狗头)