在Redis OSS中运行时升级到2.0¶
请注意
企业升级请参考以下内容链接.
reresearch的v2研究了索引与数据保持同步的方式。而不是使用FT.ADD
命令来索引文档,redisear2.0遵循散列匹配索引描述,无论这些是如何插入或更改在Redis (HSET
,HINCR
,HDEL
).索引描述将过滤键前缀上的散列值,并允许您使用过滤器
选择。此描述可以在创建索引期间定义(ft.create).
v1。X索引(进一步称为遗留索引)没有这样的索引描述。这就是为什么在升级到v2时需要提供它们的描述。在升级到v2期间,您应该通过模块的配置添加描述,以便RediSearch 2.0能够加载这些遗留索引。
UPGRADE_INDEX配置¶
升级索引配置允许您指定要升级的遗留索引。它需要指定索引名称和所有在散列
可定义的参数ft.create命令(注意,只有索引名是强制性的,其他参数有默认值,与默认值on相同ft.create命令)。例如,如果你有一个叫做idx
,为了让RediSearch 2.0加载它,以下配置需要在启动时添加到服务器:
复述,-服务器--loadmoduleredisearch.所以UPGRADE_INDEXidx
也可以指定要跟随的前缀。例如,假设所有索引为idx
以前缀开头idx:
,下面将升级遗留索引idx
:
复述,-服务器--loadmoduleredisearch.所以UPGRADE_INDEXidx前缀1idx:
升级的限制¶
升级过程在幕后工作的方式是使用在散列
在配置中给出的索引描述,然后重新索引数据。这有一些限制:
- 如果
NOSAVE
如果使用了,则无法升级,因为索引数据不存在。 - 如果有多个索引,则需要找到RediSearch识别哪个散列属于哪个索引的方法。您可以使用前缀或过滤器来实现。
- 如果您有未建立索引的散列,则需要找到一种方法,以便RediSearch能够仅识别需要建立索引的散列。这可以使用前缀或过滤器来完成。