我们目前正在利用redis搜索作为矢量数据库。我们部署了6节点3 Master 3 Slave的Redis堆栈集群,我们的数据被分成多个组,我们为每个组创建了索引来进行快速搜索,每组数据可以有多个索引。
现在的问题是,在一个节点上创建索引,并将其相应的数据移动到所有节点。并且只能搜索索引节点上可用的数据。
我们使用{}语法来强制数据向redis建议的单个节点移动,如下所示
HSET key_{abc}_doc <value>
这里,键中带有abc的所有数据将去往相同的节点,因为它们将共享相同的散列槽。
现在,我们希望索引及其相应的数据应该转到同一个节点,以便可以再次搜索。金迪提出了一个可行的解决方案。
Redis搜索版本:2.0+
1条答案
按热度按时间voase2hg1#
当你运行一个集群时,关键字会被分散到各个节点上。为了搜索所有的节点,你需要一些东西:
1.在所有节点上创建索引。
1.搜索所有节点并汇总结果。
Redis Cloud和Redis Enterprise会为您解决这个问题,但如果您正在滚动部署,RSCoordinator是您想要查看的工具。
请注意,我自己没有用过它,但它是为了解决这个问题而创建的。