RediSearch教程
RediSearch是一个强大的文本搜索和二级索引引擎,构建在Redis的顶部作为Redis模块。RediSearch是用C语言编写的,与其他开源搜索引擎相比,它的速度非常快。它实现了多种数据类型和命令,从根本上改变了你可以用Redis做什么。reresearch支持搜索和过滤功能,如地理空间查询、仅检索id(而不是整个文档)和自定义文档评分。聚合可以在定制管道中组合map、filter和reduce/group-by操作,这些操作可以在瞬间跨越数百万个元素。
reresearch还支持模糊前缀匹配的自动完成,以及将新文档原子实时插入到搜索索引中。有了最新的RediSearch 2.0版本,在现有数据上创建二级索引比以往任何时候都要容易。你可以只是添加RediSearch到你现有的Redis数据库,创建一个索引,并开始查询它,而不必迁移你的数据或使用新的命令添加数据到索引。这大大降低了新的RediSearch用户的学习曲线,并允许您在现有的Redis数据库上创建索引,甚至不需要重新启动它们。
#
步骤1。注册和订阅遵循注册链接并订阅Redis企业云万博体育彩
#
步骤2。使用reresearch模块创建数据库#
步骤3。连接到数据库遵循这链接以了解如何连接到数据库
#
步骤4。开始重新研究首先,让我们创建一个基于电影信息的基本数据集,我们将使用它来展示如何:
- 插入数据
- 创建一个索引
- 查询数据
#
将数据插入reresearch现在可以插入一些数据了。这个例子使用的电影数据存储为Redis哈希,所以让我们插入几个电影:
你的Red万博体育彩is企业云数据库现在包含两个哈希。如果您知道movies (movies:11002)的键值,那么使用HMGET命令检索信息是很简单的:
#
在reresearchch中创建索引为了能够查询字段上的哈希值,例如标题或类型,您必须首先创建一个索引。要创建索引,必须定义一个模式来列出被索引的字段及其类型,以及可以在查询中使用的字段。
使用FT.CREATE命令创建索引,如下所示:
在上面的命令中,我们:
- 创建索引idx:movies
- 使用了一个由四个字段组成的模式:标题release e_year评级类型
不过,在对新索引运行查询之前,让我们仔细看看FT.CREATE命令的元素:
- Idx:movies:索引的名称,在执行查询时将使用它
- ON hash:要索引的结构的类型。(注意RediSearch 2.0只支持Hash结构,但是这个参数将允许RediSearch将来索引其他结构。)
- 前缀1 " movies: ":应该被索引的键的前缀。这是一个列表,因为我们只想索引movies:*键,所以数字为1。如果你想用相同的字段索引电影和电视节目,你可以使用:
- :定义索引的模式、字段和它们的类型。正如您在该命令中看到的,我们使用了TEXT、NUMERIC和TAG以及SORTABLE参数。
RediSearch 2.0引擎将使用PREFIX值扫描数据库,并基于模式定义更新索引。这使得向使用hash的现有应用程序添加索引变得很容易,不需要更改代码。
#
在reresearch索引中搜索电影你现在可以使用FT.SEARCH搜索你的数据库,例如,搜索所有电影按发行年份排序:
你也可以在索引中搜索包含“star”的“动作”电影(在我们的示例索引中,术语“star”只会出现在标题中):
search命令是搜索数据库的基本命令,它有许多选项,并与您可以在文档中找到的强大而丰富的查询语法相关联。(注意:您也可以使用索引来使用FT.AGGREGATE命令进行数据聚合。)
#
下一个步骤- 了解更多关于reresearch的信息开始使用reresearch2.0GitHub上教程。
- 如何使用reresearch列出和搜索电影数据库