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

参考

感谢大佬的文章

相关推荐
infiniteWei1 天前
【Lucene】搜索引擎和文档相关性评分 BM25 算法的工作原理
算法·搜索引擎·lucene
天蓝蓝235282 天前
Lucene数据写入流程
java·mybatis·lucene
shiming88792 天前
Lucene数据写入与数据刷盘机制
java·mybatis·lucene
infiniteWei2 天前
【Lucene】详解倒排表的结构,如何实现词典与文档的映射关系
搜索引擎·全文检索·lucene
运维佬9 天前
在 Linux 系统上部署 Apache Solr
linux·apache·solr
infiniteWei9 天前
【Lucene】详细讲解创建索引的步骤:分词、去停用词、语言处理、倒排表构建
搜索引擎·全文检索·lucene
Elastic 中国社区官方博客10 天前
Lucene 和 Elasticsearch 中更好的二进制量化 (BBQ)
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·lucene
infiniteWei11 天前
【Lucene】架构概览和核心组件介绍
搜索引擎·架构·全文检索·lucene
光仔December12 天前
【Elasticsearch入门到落地】1、初识Elasticsearch
大数据·elk·elasticsearch·搜索引擎·lucene
infiniteWei12 天前
【Lucene】从文本到索引:Lucene如何构建索引
搜索引擎·全文检索·lucene