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