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