SOLR数据导入和导出

情景

1、solr中的类型修改导致solr的core无法加载,只能删除core,重新创建。但是solr中的数据,只能从core心中导出,在导入新建的核心中。

2、试了几种方案,还是通过第三方freedev / solr-import-export-json的组件更加灵活。

3、其中几种方案也做了试错

  1. backup,restore方式,速度很快,其实就是复制索引文件到其他地方,但是无法还原到其他核心。
  2. solr cloud ,单体solr报错,无法使用cloud方式保存。可以将导出的数据导入到其他核心。
  3. solr-import-export-json方式,基于数据导入导出,灵活(需要下载第三方组件包solr-import-export-1.0.jar)。

步骤

  1. 导出
java 复制代码
java -jar solr-import-export-1.0.jar -a export -s  http://127.0.0.1:8983/solr/核心 -o solr.json 
  1. 导入
java 复制代码
java -jar solr-import-export-1.0.jar -a import -s  http://127.0.0.1:8983/solr/new_core -o solr.json
  1. 参数解释
xml 复制代码
myapp [-a <arg>] [-b <arg>] [-C] [-c <arg>] [-d] [-D] [-f <arg>] [-F <arg>] [-h] [-i <arg>] [-k <arg>] [-o <arg>] [-p <arg>] [-s <arg>] [-S <arg>] [-u <arg>] [-x <arg>]
solr-import-export-json

 -a,--actionType <arg>           操作类型
                                 [import|export|backup|restore]
 -b,--blockSize <arg>            块大小(默认5000条文档)
 -C,--disableCursors             禁用Solr读取时的游标
 -c,--commitDuringImport <arg>   在指定数量的文档后提交进度。如果不指定,则整个工作将在完成后提交。
 -d,--deleteAll                  导入前删除所有文档
 -D,--dryRun                     干运行测试
 -f,--filterQuery <arg>          导出时的过滤查询
 -F,--dateTimeFormat <arg>       设置自定义日期时间格式(默认yyyy-MM-dd'T'HH:mm:ss.SSS'Z')
 -h,--help                       帮助
 -i,--includeFields <arg>        导出时使用的简单逗号分隔字段列表。如果不指定,将使用所有存在的字段
 -k,--uniqueKey <arg>            深度分页时指定唯一键
 -o,--output <arg>               输出文件
 -p,--password <arg>             基本认证密码
 -s,--solrUrl <arg>              Solr URL - 
                                 http://localhost:8983/solr/collection_name
 -S,--skipFields <arg>           导入导出时跳过的逗号分隔字段列表。接受每个字段前缀/后缀通配符*。所以您可以指定跳过所有以name_开头的字段
 -u,--user <arg>                 基本认证用户名
 -x,--skipCount <arg>            加载文件时要跳过的文档数。当出现错误时很有用,以便从上次成功保存的位置继续加载。

参考

感谢大佬的文章

相关推荐
risc1234565 天前
【lucene】advanceshallow就是遍历跳表的,可以看作是跳表的遍历器
lucene
cyh男5 天前
Lucene 8.7.0 版本的索引文件格式
搜索引擎·全文检索·lucene
risc1234566 天前
【lucene核心】impacts的由来
lucene
在未来等你7 天前
Elasticsearch面试精讲 Day 5:倒排索引原理与实现
elasticsearch·搜索引擎·面试·全文检索·lucene·分词·倒排索引
risc1234568 天前
【lucene】 中的impactsenum与impactsdisi有啥区别?
lucene
risc1234568 天前
【lucene】如何评测一款分析器Analyzer
lucene
代码的余温8 天前
ElasticSearch对比Solr
大数据·elasticsearch·solr
playStudy10 天前
从0到1玩转 Google SEO
python·搜索引擎·github·全文检索·中文分词·solr·lucene
健康平安的活着21 天前
es7.x es的高亮与solr高亮查询的对比&对比说明
大数据·elasticsearch·solr
与火星的孩子对话21 天前
Unity高级开发:反射原理深入解析与实践指南 C#
java·unity·c#·游戏引擎·lucene·反射