gpt4 book ai didi

mongodb - 一旦删除并重新创建索引,Elasticsearch不会自动提取现有的mongoDB数据

转载 作者:行者123 更新时间:2023-12-02 23:06:04 25 4
gpt4 key购买 nike

对不起,如果我问了一个愚蠢的问题,但我不知道
解。
我将数据存储在mongodb中,并将集合映射到es
使用richardwilly的插件进行索引。但是,我的几个索引
搞砸了(由于并不是我希望看到的所有数据都是
在es中(它仍然在mongodb中)。我尝试在虚拟对象上创建虚拟索引
数据,我希望在重新索引之后,我现在将在
es。

问题似乎在于蒙戈河在oplog上运行,
在删除索引之后,在插入下一个第一个新文档之后
我想在mongodb中查看其他数千个文档
现在在es中自动可见。但是,我只看到文件
删除并重新创建索引后插入的内容。另一个
在mongo中仍然可以看到1000个文档,但是在es中却看不到。

我做了一个小实验,发现如果我确实重新插入了
500个文档,然后在elasticsearch中可见(如果索引为
允许他们全部加入的权利)。你能告诉我如何制作
重新创建索引后,在es中可见mongodb中的数据
必须删除并重新插入,因为我无法执行此操作。我需要重播吗
oplog还是您可以建议的另一种方法,例如
我可以将这些数据导入es而无需删除并重新插入?

谢谢!

最佳答案

正如您所说,MongoDB河是通过使用Mongo的oplog进行工作的,这意味着您只能将对文档的更改编入Elastic。 (对Mongo索引的更改与oplog无关)为了索引在您的第一个oplog条目之前创建的文档,您需要寻找另一种方法。

如果您不想删除+重新插入,则可以对现有文档进行批量更新。

或者,您可以实现一个工具,该工具可以找到Elastic中的第一个文档,查询Mongo以查找任何较早的文档并为丢失的文档建立索引。

关于mongodb - 一旦删除并重新创建索引,Elasticsearch不会自动提取现有的mongoDB数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12630724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com