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

参考

感谢大佬的文章

相关推荐
yngsqq1 天前
(for 循环) VS (LINQ) 性能比拼 ——c#
c#·solr·linq
bst@微胖子4 天前
Cursor开发酒店管理系统
solr
zfj32110 天前
Lucene多种数据类型使用说明
java·mybatis·lucene
努力的搬砖人.12 天前
Spring Boot 集成 Solr 的详细步骤及示例
spring boot·mybatis·solr
事橙199914 天前
Ubuntu18 登录界面死循环 Ubuntu进不了桌面
linux·ubuntu·lucene
Elastic 中国社区官方博客15 天前
Elastic Platform 8.18 和 9.0:ES|QL Lookup Joins 功能现已推出,Lucene 10!
大数据·人工智能·sql·elasticsearch·搜索引擎·全文检索·lucene
zfj32116 天前
Lucene并不是只有倒排索引一种数据结构,支持多种数据结构
数据结构·lucene
努力的搬砖人.17 天前
springboot集成Lucene详细使用
spring boot·mybatis·lucene
江沉晚呤时21 天前
深入解析 ASP.NET Core 中的 ResourceFilter
开发语言·c#·.net·lucene
Thomas_YXQ22 天前
Unity3D IK解算器技术分析
开发语言·搜索引擎·unity·全文检索·unity3d·lucene