如何解决将索引从旧版本的Elasticsearch迁移到Elasticsearch 7.9
我们要在项目中将Elasticsearch版本从5.6升级到7.9。
我必须将索引和文档迁移到新版本,但是我不能使用 reindex ,所以我让高级客户端连接到Elasticsearch 7,并使用http请求对Elasticsearch 5
对于迁移,我使用match_all查询获取部分文档,并从旧版本滚动并使用批量请求在新的Elasticsearch中将它们编入索引。
我们的旧版本elasticsearch有3个节点。我的问题是我必须分别向所有节点发送请求并处理文档,或者如果我将match_all查询搜索发送给一个节点将由elsaticsearch处理。(我读了一些关于处理请求的关联节点的信息,每个节点隐式地是一个协调节点cordinating node。)或者我必须将请求发送到数据节点
解决方法
启动elsticsearch集群时,您可以将所有集群视为一个数据库。这意味着您可以通过将请求发送给其中一个集群来获取并插入所有集群。您只需要将请求发送到节点并获取数据即可。
,在@saeednasehi答案中添加更多详细信息,似乎您对Elasticsearch及其查询的内部工作方式感到困惑,请参阅my answer to how search queries works in elasticsearch。
除此之外,您还可以通过连接到任何节点来获取数据,但是在您的ES客户端(JHLRC或HTTP)中您应该提及所有节点IP,以便您的请求(注意协调)加载分布在所有数据节点之间,如果您只提供一个IP,那么在没有专用协调节点的情况下,该节点始终充当协调节点(默认)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。