1、引用数据库需要配置solr项目的solrconfig.xml,我的位置是E:\SolrHome\core0\conf\solrconfig.xml
在配置文件中加入下面的代码:
<requestHandler name="/dataimport"
class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
</lst>
</requestHandler>
2、然后在同级目录下建立一个db-data-config.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<!--数据库配置信息-->
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/demo"
user="root"
password=""/>
<!--查询语句并重命名-->
<document>
<entity name="title"
query="select id,title from gxt_shai_baobei">
</entity>
</document>
</dataConfig>
3、.引入相应的jar包,mysql-connector-java-5.1.22-bin.jar,solr-dataimporthandler-4.4.0.jar,solr-dataimporthandler-extras-4.4.0.jar,
mysql驱动包到网上下载,后面的俩个包在E:\solr-4.4.0\solr-4.4.0\dist中
4、然后在E:\SolrHome\core0\conf\schema.xml中配置相应的fields字段
<field name="id" type="string" indexed="true" stored="true" multiValued="false" required="true"/>
<field name="title" type="text_zh" indexed="true" stored="true" multiValued="true" />
name为数据库查询的字段,type为相应分词的filetype的name,indexed为进立索引,stored为缓存数据,multivalued为是否允许多个值
5、重启tomcat,然后登陆solr页面
报错说core0的solrconfi.xml引入出错,查看了tomcat的日志也没发现什么错误,但可定是solrconfi.xml文件引入数据库时出的问题。
查看solr自带的logging,发现是solrconfig.xml文件的字符编码与文件定义的utf-8不统一,思考原因,应该是solrconfig.xml本身是utf-8编码,我用编辑器打开的时候默认输入是ANSI编码,所以在修改solrconfig.xml文件之后,这个文件的编码就变成ANSI编码,所以出现utf-8不识别中文,或者把中文注释改成英文注释,也可避免问题出现。
修改solrconfig.xml文件的编码格式为utf-8与xml文件定义的编码统一,重新启动solr
点击execute并可生成索引。
查询可以看到建立的索引索引文件。