如何使用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中语句执行的顺序以及查询处理阶段的分析

怎么在红帽系统添加mysql

mysql数据库索引的内容介绍

如何写出高性能的sql

mysql中#{}和${}的区别详解

通过实例讲解mysql如何实现定时任务

简介 mysql日志之redo log和binlog

怎样安全地关闭mysql实例

分析mysql抛出异常的几种常见解决方式

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


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

数据库系统概念 第6版

机械工业出版社

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



打赏

取消

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

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

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

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

评论

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