您的位置:首页 > 数据库

solr-数据库导入

2016-08-10 22:35 239 查看
使用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。

查询数据。





导入成功!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  solr mysql