RediSearch

Redis 的查询、二级索引和全文搜索

https://redis.io/docs/stack/search/

RediSearch 是一个源码可用的Redis 模块,可以对 Redis 进行查询、二级索引和全文搜索。这些功能支持在文本查询之上进行多字段查询、聚合、精确短语匹配、数字过滤、地理过滤和向量相似性语义搜索。

主要特点

RediSearch 支持以下功能:

  • 二级索引
  • 多字段查询
  • 聚合
  • 文档中多个字段的全文索引
  • 无性能损失的增量索引
  • 文档排名(索引时由用户手动提供)
  • 在子查询之间使用 AND、OR、NOT 运算符的布尔查询
  • 可选查询子句
  • 基于前缀的搜索
  • 字段权重
  • 自动完成建议(带有模糊前缀建议)
  • 精确短语搜索和基于 slop 的搜索
  • 多种语言的基于词干的查询扩展(使用Snowball)
  • 支持用于查询扩展和评分的自定义函数(请参阅扩展)
  • 数字过滤器和范围
  • 使用 Redis地理命令进行地理过滤
  • 使用精确和近似算法进行语义搜索的向量相似性搜索
  • Unicode 支持(需要 UTF-8 输入)
  • 检索完整文档内容或仅检索其 ID
  • 使用索引垃圾收集删除和更新文档

JSON文件

当与Redis Stack 中包含的RedisJSON模块结合使用时,RediSearch 可以索引和查询 JSON 文档。

要了解如何将 RediSearch 与 JSON 文档结合使用,请参阅索引 JSON 文档。

客户端库

官方和社区客户端库可用于 Python、Java、JavaScript、Ruby、Go、C# 和 PHP。

有关完整列表,请参阅客户页面。

集群支持

RediSearch 提供了一个分布式集群版本,可以扩展到数十亿个文档和数百个服务器。

作者:Jeebiz  创建时间:2023-03-19 22:55
最后编辑:Jeebiz  更新时间:2024-08-16 11:44