跳到内容

在Redis OSS中运行时升级到2.0

请注意

企业升级请参考以下内容链接

reresearch的v2研究了索引与数据保持同步的方式。而不是使用FT.ADD命令来索引文档,redisear2.0遵循散列匹配索引描述,无论这些是如何插入或更改在Redis (HSETHINCRHDEL).索引描述将过滤键前缀上的散列值,并允许您使用过滤器选择。此描述可以在创建索引期间定义(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能够仅识别需要建立索引的散列。这可以使用前缀或过滤器来完成。
Baidu