如果我想确保elasticsearch索引与数据库同步,我可以读取数据库中的所有记录并向上插入索引。但是如何有效地从索引中删除不再在数据库中的记录呢?
我认为我的选择是:
为索引使用别名。创建一个新索引并将所有数据库记录插入其中。然后将别名从旧索引切换到新索引,然后删除旧索引。
扫描整个索引并检查每个id是否在数据库中。
这两个选项在资源使用和数据完整性方面都有问题。有更好的办法吗?
如果我想确保elasticsearch索引与数据库同步,我可以读取数据库中的所有记录并向上插入索引。但是如何有效地从索引中删除不再在数据库中的记录呢?
我认为我的选择是:
为索引使用别名。创建一个新索引并将所有数据库记录插入其中。然后将别名从旧索引切换到新索引,然后删除旧索引。
扫描整个索引并检查每个id是否在数据库中。
这两个选项在资源使用和数据完整性方面都有问题。有更好的办法吗?
暂无答案!
目前还没有任何答案,快来回答吧!