如何使用Solr索引MySql数据库?


本文摘自PHP中文网,作者黄舟,侵删。

前面的文章介绍了在tomcat部署solr4.10、solr4.10集成IK analyzer分词器,现在介绍如何通过配置solr实现对MySQL数据库数据的索引,从而实现对MySQL数据库的查询。

首先要下载连接MySQL需要的jar包,我下载的是:mysql-connector-java-5.1.26-bin.jar。

1.假设MySQL数据库有关数据库、表、字段定义等工作已经提前完成。这里介绍我这个测试用例所用的数据库情况:数据库和表名均为crawler,用户名root,密码admin。这里就不把sql语句列出来了,反正是测试。另外,因为Solr的解压路径以及Solr_HOME的路径每个人都是不一样的,所以以后关于Solr_HOME的路径,我都用$SOLR_HOME表示。

1.png

2.使用DataImportHandler导入并索引数据

配置$SOLR_HOME\collection1\conf\solrconfig.xml

在<requestHandler name="/select" class="solr.SearchHandler">前面上加上一个dataimport的处理的Handler,如图示:

其中,data-config.xml文件用于定义solr和MySQL的映射关系,这里使用的而是相对路径,即跟solrconfig.xml处于同一目录。因此要在$SOLR_HOME\collection1\conf目录下创建data-config.xml文件

2.png

3.通过data-config.xml完成Solr与MySQL数据库的映射,data-config.xml文件内容如图所示:

3.png


4.修改schema.xml文件,因为这个文件是我们从压缩包中复制过来的,里面包括很多多余的数据,在这里我们只需要在该文件中定义与MySQL数据库表中相关的Field,去掉不相关的Field即可,但需要注意,有些Field还是需要保留的,如:_version_和text 这两个field要保留,其他的Field、CopyField删除即可:如图示。

上图中,我id的定义为int型,Solr中索引的主键默认是只支持type="string"字符串类型的。解决方法:修改同目录下的elevate.xml,注释掉下面2行。

4.png

5.png

5.将mysql-connector-java-5.1.26-bin.jar和solr-4.10.3\dist\solr-dataimporthandler-4.10.3.jar复制到 D:\Solr\solr-4.10.3\example\solr-webapp\webapp\WEB-INF\lib中。


6.开启tomcat进入Solr的Admin UI界面,在Core Selector中选择collection1,选择dataImport子菜单,如图所示。

完成设置后,点击Execute执行。

6.png

7.查询测试在core selector下方的子菜单中选择Query,在q框中输入content:习近平,点击下方俺就,就会得到查询结果


以上就是如何使用Solr索引MySql数据库?的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

mysql如何创建数据库?

mysql中怎么删除数据库

mssql和mysql哪个好

如何解决mysql 1075错误

mysql怎么批量删除多个表?

mysql中的中文不能显示怎么办

mysql null的含义是什么

mysql死锁与日志分析

mysql和redis事务的比较(图文)

mysql数据库密码忘记解决方法

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...