抱歉,如果我问了一个愚蠢的问题,但我无法找出解决方案。我将数据存储在 mongodb 中,并且使用 richardwilly 的插件将集合映射到 es 索引。但是,我的一些索引搞砸了(由于不是我期望看到的所有数据都在 es 中(它仍在 mongodb 中))。我尝试在虚拟数据上创建一个虚拟索引,我希望在重新索引后,我现在可以在 es 中看到这些数据。
问题似乎是 mongo 河在 oplog 上运行,在我删除索引后,在插入下一个第一个新文档后,我想在 mongodb 中查看其他数千个文档,现在在 es 中自动可见。但是,我只看到删除并重新创建索引后插入的文档。其他 1000 个文档在 mongo 中仍然可见,但在 es 中不可见。
我做了一个小实验,发现如果我真的重新插入了 500 个文档,它们就会在 elasticsearch 中可见(如果索引正确允许它们全部插入)。您能否告诉我,在我重新创建索引后,如何使 mongodb 中的数据在 es 中可见,而无需删除并重新插入,因为我不能这样做。我是否需要重播 oplog 或者是否有另一种方法可以建议,这样我就可以将这些数据放入 es 而无需删除和重新插入?
谢谢!