搜索与查询
RediSearch 2.x 模块是一个源可用的项目,允许您为开源 Redis 数据库构建强大的搜索查询。与 Redis Enterprise Software 结合使用时,您可以使用相同的协议和命令在高效的内存索引上运行地理复制查询和全文搜索。
索引文档
搜索与查询引擎会索引文档,文档是以字段-值对表示数据的对象。每个文档可以索引多个字段,这些字段可以表示文本、数字或地理空间数据类型。
随着数据库中文档的变化,索引会自动处理这些变化,以保持搜索结果的最新状态。
通过索引,您可以实现
支持的文档类型
您可以将文档存储为 Redis 哈希或 JSON。要搜索和查询 JSON 文档,您还需要在数据库中启用JSON功能。
哈希文档
对于 Redis 哈希,每个文档分配给一个单独的键,并使用字段-值对来表示文档的内容。
您可以运行 HGETALL
来检索整个哈希文档。
JSON 文档
您可以索引、搜索和查询存储在数据库中的 JSON 文档。
有关如何搜索和查询 JSON 文档的更多信息,请参阅快速入门。
搜索功能
对于全文搜索,您可以自定义字段查询和搜索结果的排名。查询时,您可以在一个查询中使用多个谓词来查询文本、数字和地理空间字段。您还可以按特定字段排序,并通过偏移量限制结果以生成定制的结果页面。
Redis 开源版支持超过 15 种自然语言的词干提取,并包含自动补全引擎,具有特定命令,可以提供实时交互式搜索建议。
搜索与查询 Active-Active 数据库
得益于新的 RediSearch 架构和方法,RediSearch 2.x 支持 Active-Active 数据库。您现在可以从地理分布式数据库实例提供索引信息。
对索引数据进行分片迁移
通过将索引移出键空间并将数据结构化为哈希,RediSearch 2.x 使数据库分片迁移成为可能。当一半数据移动到新的分片时,相关数据的索引会同步创建,当 Redis 检测到键已被删除时,会从索引中移除这些键。但是,由于新分片上的索引是同步创建的,因此预计分片迁移过程将比未启用搜索和查询的数据库的分片迁移时间更长。
限制
- 您不能将搜索和查询功能与 OSS Cluster API 一起使用。