首页 > 代码库 > solr4从mysql数据库中导入数据

solr4从mysql数据库中导入数据

实际项目中,我们需要把已存在于数据库中的数据导入到solr索引库中,solr给我们提供了一个非常简便的方式DIH,下面我们以mysql数据为例。

1、进入你的core(如collection1),新建一个目录lib。

2、拷贝mysql-connector-java-5.1.14.jar到新建的lib目录中。

3、从solr的解压文件目录中找到“E:\solrbase\example-DIH\solr\db\conf”下的db-data-config.xml文件到你的core(如collection1)conf目录下,并更名为mysql-data-config.xml。

4、用编辑器打开data-config.xml的文件,清除里面的所有代码,复制以下代码:(注意以下中文注释在实际中应该删除,因为配置文件中不支持中文注释)

<dataConfig><!--根据自己的数据库情况进行修改--> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/database" user="root" password="root"/><document>    <!-- name:自定义,但最好有意义;query:纯sql语句,此处查询用户表中的所有数据-->             <entity name="user" query="select * from user">           <field column="id" name="id" />          <!-- column:对应sql语句中的id,sql语句中如果你把它改成别名,此处填写别名; name:对应shema.xml配置文件中的字段id -->         <field column="name" name="name" />         <field column="password" name="password" />     </entity> </document></dataConfig>

5、导入数据

打开http://localhost:8080/solr,界面如下:

技术分享

从下拉列表中选择collection1,再点击Dataimport连接,显示如下界面:

技术分享

勾选Commit、Optimize,下拉选择entity为user,点击Execute按钮,开始执行导入操作。

 

以上只是最简单的业务逻辑,复杂的业务逻辑需要<entity>嵌套

 

solr4从mysql数据库中导入数据