如何使用Solr索引MySql数据库?
首先要下载连接MySQL需要的jar包,我下载的是:mysql-connector-java-5.1.26-bin.jar。
1.假设MySQL数据库有关数据库、表、字段定义等工作已经提前完成。这里介绍我这个测试用例所用的数据库情况:数据库和表名均为crawler,用户名root,密码admin。这里就不把sql语句列出来了,反正是测试。另外,因为Solr的解压路径以及Solr_HOME的路径每个人都是不一样的,所以以后关于Solr_HOME的路径,我都用$SOLR_HOME表示。
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文件
3.通过data-config.xml完成Solr与MySQL数据库的映射,data-config.xml文件内容如图所示:
4.修改schema.xml文件,因为这个文件是我们从压缩包中复制过来的,里面包括很多多余的数据,在这里我们只需要在该文件中定义与MySQL数据库表中相关的Field,去掉不相关的Field即可,但需要注意,有些Field还是需要保留的,如:_version_和text 这两个field要保留,其他的Field、CopyField删除即可:如图示。
上图中,我id的定义为int型,Solr中索引的主键默认是只支持type="string"字符串类型的。解决方法:修改同目录下的elevate.xml,注释掉下面2行。
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执行。
7.查询测试在core selector下方的子菜单中选择Query,在q框中输入content:*,点击下方俺就,就会得到查询结果
以上就是如何使用Solr索引MySql数据库?的详细内容,更多请关注其它相关文章!
上一篇: laravel 自定义命令
下一篇: mysql5.7数据库忘记密码怎么解决