solr-数据库导入

来源:互联网 发布:机顶盒桌面软件 编辑:程序博客网 时间:2024/04/29 21:54
  • 使用solr时,除去在项目里使用代码将数据存入solr,还有一种就是从数据库中直接向solr导入数据
  • 本文介绍中的所使用的是solr6,数据库是MySQL,服务器是linux

1、首先在数据库中创建导入solr的表

这里写图片描述

表字段名称要和solr中的字段名称相同,类型要相符

添加测试数据

这里写图片描述

2、将jar包放入lib中

  • 将所需数据库导入的solr的jar包放入lib中,即solr-dataimporthandler-6.0.1.jar和solr-dataimporthandler-extras-6.0.1.jar(正常情况下,搭建solr时lib中已经包含了这两个jar包,若没有的话,我的也上传了,下载地址 http://download.csdn.net/download/u014267869/9600297)

  • 将连接MySQL数据库的jar包也放进去,即mysql-connector-java-5.1.38-bin.jar,我也上传上来了,下载地址 http://download.csdn.net/download/u014267869/9600309

  • 注:lib文件夹即为安装的tomcat下solr的WEB-INF/lib

3、修改solrconfig.xml文件

这里写图片描述
solrconfig.xml即在solr中配置项目下的config文件夹中
内容如下:

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

4、创建data-config.xml文件

这里写图片描述

这里写图片描述
在solrconfig.xml同级目录下创建data-config.xml文件。
内容如下:

<dataConfig>    <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.1.64:3306/yfly" user="root" password="123456" />    <document>        <entity name="solr_date"            query="SELECT id,c_name,c_addr,c_city_addr,n_level,circles,nimgpath,nminprice,lat,lng FROM solr_date WHERE id >= ${dataimporter.request.id}">        </entity>    </document></dataConfig>

${dataimporter.request.id}在后面导入时会用到,以此条件为基准读数据。

5、重启solr进行测试

这里写图片描述
在Custom Parameters中填入id=1,就是在上面设置的参数

Clean选项,是指是否删除未匹配到的数据。也就是在数据库select结果中没有,而solr索引库中存在,则删除。

点击Execute。

查询数据。

这里写图片描述
这里写图片描述

导入成功!

0 0
原创粉丝点击