Rumah  >  Artikel  >  pangkalan data  >  如何使用Solr索引MySql数据库?

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

黄舟
黄舟asal
2017-08-03 09:18:181709semak imbas

前面的文章介绍了在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

前面上加上一个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:习近平,点击下方俺就,就会得到查询结果


Atas ialah kandungan terperinci 如何使用Solr索引MySql数据库?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn