数据库数据迁移solr

初始全量导入数据库数据

假设存在表 solr表示 其中 有以下数据:
在这里插入图片描述进入solr所在服务器 搜索 dataimport相关jar包

solr@localhost:/opt/solr$ find / -name *import*.jar
/opt/solr/dist/solr-dataimporthandler-5.5.5.jar
/opt/solr/dist/solr-dataimporthandler-extras-5.5.5.jar

将这两个jar包拷贝到 solr启动应用 webapp/lib目录下

cp /opt/solr/dist/solr-dataimporthandler-5.5.5.jar /opt/solr/server/solr-webapp/webapp/WEB-INF/lib
cp /opt/solr/dist/solr-dataimporthandler-extras-5.5.5.jar /opt/solr/server/solr-webapp/webapp/WEB-INF/lib

同时将mysql的驱动包jar包 丢到该目录下

docker cp ./mysql-connector-java-5.1.24.jar  my_solr:/opt/solr/server/solr-webapp/webapp/WEB-INF/lib

重启一下容器然后新建配置连接的数据库以及查询的sql语句data-c.xml文件
内容:(注意<?xml 前面不能含有空格)

 <?xml version="1.0" encoding="UTF-8"?> 
 
<dataConfig>  
															
  <dataSource name="source1" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.0.251:3306/solr_ik" user="root" password="ps123456" batchSize="-1" />  
    <document>  
        
     <entity name="solr_ik" pk="newid"  dataSource="source1"   
                query="select * from  solr_ik" >
    
        <field column="newid" name="id"/>  
        
    <field column="newtitle" name="newtitle_ik"/>  
   
     </entity>

  </document> 
 
</dataConfig>

cp进入mycore/conf目录 docker cp ./data-c.xml my_solr:/opt/solr/server/solr/mycore/conf

修改solrconfig.xml 指定data-c.xml文件:
把文件cp出来修改docker cp my_solr:/opt/solr/server/solr/mycore/conf/solrconfig.xml ./
添加该代码对应之前添加的配置的data-c.xml文件

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">  
      <lst name="defaults">  
         <str name="config">data-c.xml</str>  
      </lst>  
 </requestHandler>

然后cp回去:docker cp ./solrconfig.xml my_solr:/opt/solr/server/solr/mycore/conf

重启容器 之后进入Solr Admin网页打开core里面的Dataimport其中要注意Clean打钩的话是会清除之前所有储存的索引
Commit表示自动提交 -------Raw Status-Output状态报告

打开Configuration可以查看data-c.xml文件是否生效 注意(箭头指向处有空格所以没生效,代码还是黑色的也没有生效)

在这里插入图片描述

如这张图所示才是生效效果(搞了我半小时)编辑完成后重新cp一下

在这里插入图片描述

玩蹦了 (┬_┬) 有没有大佬指点一下 数据库用IP地址连接不上,已经把权限改成%了.上图为证,用localhost可以连接,输入ip就报错

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

找到问题

原因是防火墙处于一个半开半闭状态,导致外网连接本机ip地址访问拒绝,还有我的系统全部崩盘需要重装系统~~~~

---------------------------------------------------------------------------------万恶的分割线--------------------------------------------------------------------------

以下是用虚拟机和主机组成的内联网连上主机ip的(需要在虚拟机输入命令确认一下连接(telnet 192.168.146.1 3306))

在这里插入图片描述
访问成功进入查询也添加成功了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一个solr的调试功能 可调试data-c.xml文件,不是直接修改只是调试 ,需要改变数据的话还是跟之前一样操作

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43452866/article/details/84863726