如何把在线的其中一个 collection 里面的数据迁移到另外一个collection下?
思路: collection数据量比较大,所以一次性操作所有数据太大,于是分段执行操作。先分段 按1000条数据量进行查询,处理成json数据,把处理后的json数据 发送到目的collection上即可。
实现:
一、使用http的接口先进行查询
使用如下格式查询:
其中:collection_name 是你查询的collection的名称
rows 是需要查询多少行,这里设置为1000
start 从多少行开始进行查询,待会儿脚本里面就是控制这个参数进行循环查询
http://host:port/solr/collection_name/select?q=*:*&rows=1000&start=0
查询处理后会得到如下图片里面的数据格式,其中
在response里面,有两个键值数据是我们需要的,一个是numFound(总的数据条数),docs(所有json数据都在这里面)
实现:
在docs里面,每条数据都带有version 键值,这个需要给去掉