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>            加载文件时要跳过的文档数。当出现错误时很有用,以便从上次成功保存的位置继续加载。

参考

感谢大佬的文章

相关推荐
程序猿小D5 天前
第三百零二节 Lucene教程 - Lucene搜索文件
java·数据库·sql·搜索引擎·全文检索·mybatis·lucene
緑水長流*z5 天前
Lucene的概述与应用场景(1)
java·数据库·mysql·elasticsearch·solr·lucene·倒排索引
緑水長流*z5 天前
Lucene的使用方法与Luke工具(2)
java·elasticsearch·搜索引擎·全文检索·solr·lucene·倒排索引
花千树-0106 天前
深入探讨 Tantivy 及其在 Milvus 中的应用:倒排索引库对比与选择
elasticsearch·全文检索·lucene·milvus·es
程序猿小D6 天前
第三百零七节 Log4j教程 - Log4j日志格式、Log4j日志到文件
数据库·sql·log4j·全文检索·mybatis·lucene
shiming88797 天前
Lucene数据写入流程
java·mybatis·lucene
程序猿小D7 天前
第三百零一节 Lucene教程 - Lucene索引文件
java·服务器·sql·全文检索·mybatis·lucene·1024程序员节
bigbig猩猩7 天前
Lucene数据写入流程
java·mybatis·lucene
hong1616887 天前
Lucene数据写入流程
java·mybatis·lucene
程序猿小D7 天前
第三百零五节 Log4j教程 - Log4j日志记录方法
java·sql·junit·单元测试·log4j·mybatis·lucene