RediSearch/RediSearch
GitHub: RediSearch/RediSearch
为 Redis 提供二级索引、全文检索、向量相似性搜索和聚合查询能力的高性能搜索引擎模块。
Stars: 6137 | Forks: 586
# RediSearch
[](https://discord.gg/xTbqgTB)
| 总覆盖率 | 单元测试 | 流程测试 |
|----------------|------------|------------|
|[](https://codecov.io/gh/RediSearch/RediSearch)|[](https://codecov.io/gh/RediSearch/RediSearch?flags[0]=unit)|[](https://codecov.io/gh/RediSearch/RediSearch?flags[0]=flow)|
[](https://github.com/RediSearch/RediSearch/releases?q=tag:v2.10%20draft:false)
[](https://github.com/RediSearch/RediSearch/releases?q=tag:v2.8%20draft:false)
[](https://github.com/RediSearch/RediSearch/releases?q=tag:v2.6%20draft:false)
## 概述
RediSearch 是一个 [Redis 模块](https://redis.io/modules),为 Redis 提供查询、二级索引和全文搜索功能。要使用 RediSearch,您首先需要在 Redis 数据上声明索引。然后,您可以使用 RediSearch 查询语言来查询这些数据。
RediSearch 使用压缩的倒排索引来实现快速索引,同时保持较低的内存占用。
RediSearch 索引通过提供精确短语匹配、模糊搜索和数值过滤等众多其他功能,增强了 Redis 的能力。
## 入门指南
如果您刚开始接触 RediSearch,请查看[官方 RediSearch 教程](https://github.com/RediSearch/redisearch-getting-started)。此外,也可以考虑观看我们的 [RediSearch 视频讲解](https://www.youtube.com/watch?v=B10nHEdW3NA)。
## 文档
[RediSearch 文档](https://redis.io/docs/latest/develop/ai/search-and-query/)提供了 RediSearch 的完整概述。有用的部分包括:
* [RediSearch 快速入门](https://redis.io/docs/latest/develop/get-started/document-database/)
* [RediSearch 命令参考](https://redis.io/docs/latest/commands/?group=search)
* 关于[聚合](https://redis.io/docs/latest/develop/ai/search-and-query/advanced-concepts/aggregations/)、[高亮](https://redis.io/docs/latest/develop/ai/search-and-query/advanced-concepts/highlight/)、[词干提取](https://redis.io/docs/latest/develop/ai/search-and-query/advanced-concepts/stemming/)和[拼写纠正](https://redis.io/docs/latest/develop/ai/search-and-query/advanced-concepts/spellcheck/)等功能的参考。
* [向量搜索] (https://redis.io/docs/latest/develop/interact/search-and-query/query/vector-search/)
## 有疑问?
有疑问?欢迎加入 Redis Discord 服务器上的 [#redisearch](https://discord.gg/knMsnYmwXu) 频道。
## RediSearch 功能
* 对 Redis 哈希中的多个字段进行全文索引
* 无性能损失的增量索引
* 文档排名(默认使用 [BM25](https://en.wikipedia.org/wiki/Okapi_BM25),支持可选的用户提供的权重)。所有可用的评分方法请参阅[此处](https://redis.io/docs/latest/develop/interact/search-and-query/advanced-concepts/scoring/)
* 字段加权
* 使用 AND、OR 和 NOT 运算符的复杂布尔查询
* 前缀匹配、模糊匹配和精确短语查询
* 支持 [double-metaphone 语音匹配](https://redis.io/docs/latest/develop/ai/search-and-query/advanced-concepts/phonetic_matching/)
* 自动补全建议(带模糊前缀建议)
* 基于[多种语言](https://redis.io/docs/latest/develop/ai/search-and-query/advanced-concepts/stemming/)词干提取的查询扩展(使用 [Snowball](http://snowballstem.org/))
* 支持中文分词和查询(使用 [Friso](https://github.com/lionsoul2014/friso))
* 数值过滤和范围
* 使用 [Redis 地理空间索引](https://redis.io/docs/latest/develop/ai/search-and-query/indexing/geoindex/)进行地理空间搜索
* 强大的聚合引擎
* 支持所有 UTF-8 编码的文本
* 检索完整文档、选定字段或仅检索文档 ID
* 对结果进行排序(例如,按创建日期)
* 地理形状索引
* 向量相似性搜索 - KNN、过滤 KNN 和范围查询
## 集群支持
RediSearch 拥有分布式集群版本,可扩展至数百台服务器上的数十亿份文档。目前,分布式 RediSearch 作为 [Redis Cloud](https://redis.com/redis-enterprise-cloud/overview/) 和 [Redis Enterprise Software](https://redis.com/redis-enterprise-software/overview/) 的一部分提供。
有关更多信息,请参阅 [Redis Enterprise 上的 RediSearch](https://redis.com/modules/redisearch/)。
## 许可证
从 Redis 8 开始,RediSearch 根据以下任一选项进行许可: choose of: (i) Redis Source Available License 2.0 (RSALv2); 或 (iii) GNU Affero General Public License version 3 (AGPLv3)。请查阅 license 文件夹以获取完整的许可条款和条件。早期版本仍受 (i) 和 (ii) 的约束。
## 代码贡献
通过任何形式向此 Redis 模块贡献代码,包括通过 GitHub 发送拉取请求、通过私人电子邮件或公共讨论组发送代码片段或补丁,即表示您同意根据 Redis Software Grant 和 Contributor License Agreement 的条款发布您的代码。有关更多信息,请参阅此源代码分发中的 CONTRIBUTING.md 文件。有关安全错误和漏洞,请参阅 SECURITY.md。
标签:AI向量检索, DNS解析, NoSQL数据库, Redis, RediSearch, 二级索引, 倒排索引, 全文检索, 内存数据库, 向量相似度搜索, 客户端加密, 幻觉缓解, 开源项目, 搜索引擎, 数据库扩展, 查询引擎, 模糊搜索, 索引引擎, 聚合查询