概述
RediSearch为Redis提供二次索引、全文搜索和查询语言。这些功能支持文本查询的多字段查询、聚合、精确短语匹配和数字过滤。
客户端库
正式版以及社区版客户端支持的开发语言包括:Python, Java, JavaScript, Ruby, Go, C#, and PHP。详细请查看
语言 | 类库名 | 作者 | License |
Python | redis-py | Redis | BSD |
Python | redis-om | Redis | BSD-3-Clause |
Java (Jedis client library) | JRediSearch | Redis Inc | BSD |
Java | redis-om-spring | Redis | BSD-3-Clause |
Java (Lettuce client library) | LettuceMod | Redis Inc | Apache-2.0 |
Java | Spring LettuceMod | Redis Labs | Apache-2.0 |
Java | redis-modules-java | dengliming | Apache-2.0 |
Go | redisearch-go | Redis Inc | BSD |
JavaScript | RedRediSearch | Kyle J. Davis | MIT |
JavaScript | redis-redisearch | Kyle J. Davis | MIT |
JavaScript | Redis-om | Redis | BSD-3-Clause |
TypeScript | redis-modules-sdk | Dani Tseitlin | BSD-3-Clause |
C# | NRediSearch | Marc Gravell | MIT |
C# | RediSearchClient | Tom Hanks | MIT |
C# | Redis.OM | Redis | BSD-3-Clause |
PHP | php-redisearch | MacFJA | MIT |
PHP | redisearch-php (for RediSearch v1) | Ethan Hann | MIT |
PHP | Redisearch (for RediSearch v2) | Front | MIT |
Ruby on Rails | redi_search_rails | Dmitry Polyakovsky | MIT |
Ruby | redisearch-rb | Victor Ruiz | MIT |
Ruby | redi_search | Nick Pezza | MIT |
集群支持
RedSearch提供了一个分布式集群版本,可扩展到数十亿个文档和数百台服务器。
商业支持
RedisSearch有商业支持。有关更多信息和联系方式,请访问Redis Ltd.网站。
主要特征
- 二级索引
- 多字段查询
- 聚集查询
- 文档中多个字段的全文索引
- 无性能损失的增量索引
- 文档排名(由用户在索引时手动提供)
- 在子查询之间使用AND、OR、NOT运算符的布尔查询
- 可选查询子句
- 基于前缀的搜索
- fields权重
- 自动完成建议(使用模糊前缀可以进行查询)
- 精确短语搜索和slop-based的搜索
- 针对多种语言的基于词干的查询扩展(使用Snowball https://snowballstem.org/)
- 支持用于查询扩展和评分的自定义函数
- 数字过滤器和范围
- 使用Redis自带的geo命令进行地理过滤
- Unicode支持(需要UTF-8输入)
- 检索完整文档内容或仅检索其ID
- 使用索引垃圾收集删除和更新文档
- 部分和有条件的文档更新
平台支持
RediSearch在x86_64 CPU的Linux和macOS开发和测试。
Atom CPU不在支持之列。