将Solr从6.x升级到8.x并保留数据

ni65a41a  于 2022-11-05  发布在  Solr
关注(0)|答案(1)|浏览(332)

我正试图从Solr 6.x升级到8.x,但我面临着保留/保存/导入旧数据的问题。
我尝试的方法
1.使用相同的solr目录--这是一个很大的失败xD
1.备份/还原:
如文档中所述,我设法使用Solr 6创建了备份,但当我尝试恢复它时,它显示了一条OK消息,但它没有恢复/导入任何数据,集合保持为空。
返回的消息是

{
  "responseHeader":{
    "status":0,
    "QTime":10},
  "status":"OK"}

1.从集合中导出查询结果:
我导出了一个空查询的结果,以获取所有对象,并将结果保存为json文件,然后尝试使用curl命令再次导入它。我得到了一个版本冲突消息。除非我删除每个文档的结果头和版本字段,但这样我会丢失所有索引。这是一个手动过程
是否有任何方法可以轻松无缝地完成此操作?在再次导入数据后,如何重新索引数据?
我看过这些问题,但它们对我没有太大帮助。

fbcarpbf

fbcarpbf1#

如果有人遇到同样的问题,我会在这里贴出对我有用的东西。经历7.x对我不起作用,所以这里是我做了什么和我是如何解决它的。
我已经创建了一个java应用程序,它将通过rest请求将所有数据导出到Solr,并将结果保存到json文件中,同时删除“version”字段。(我已经添加了分页,将数据保存在批量中,这样就不会有巨大的文件)
然后在不同的目录下安装新的Solr 8.x,并删除旧的Solr。
该工具会将这些文件读入相同对象的列表(如果您想保存您拥有的索引),然后通过post请求将它们保存在新的Solr数据库中。(如果您没有索引或任何其他特殊的东西,可以直接从json文件通过post请求将它们保存到Solr)
希望这对你们有帮助,谢谢
P.S.感谢@MatsLindh的帮助,让事情变得更清楚

相关问题