1.准备数据库创建一张测试表:
#创建一张测试表
CREATE TABLE testtable (
id VARCHAR (50) NOT NULL COMMENT '主键ID',
title VARCHAR (100) NOT NULL COMMENT '标题',
content VARCHAR (200) NOT NULL COMMENT '文本内容',
PRIMARY KEY (id)
)DEFAULT CHARSET=utf8;
#批量添加数据
insert into testtable(id,title,content) VALUES
(UUID_SHORT(),'伟帅你是我偶吧1','伟帅你是我偶吧?不要迷恋哥哟!1'),
(UUID_SHORT(),'伟帅你是我偶吧2','伟帅你是我偶吧?不要迷恋哥哟!2'),
(UUID_SHORT(),'伟帅你是我偶吧3','伟帅你是我偶吧?不要迷恋哥哟!3'),
(UUID_SHORT(),'伟帅你是我偶吧4','伟帅你是我偶吧?不要迷恋哥哟!4')
#查询
select * from testtable;
2.在solr-home/my_core/conf下面新建配置文件:db-data-config.xml,内如如下:
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test?characterEncoding=utf-8" user="root" password="123456"/>
<document name="documents">
<entity name="documents" pk="id" query="select * from testtable">
<field column="id" name="id" />
<field column="title" name="title" />
</entity>
</document>
</dataConfig>
dataSource 是数据源:type,driver,url,password 不多做解释
entity :pk(主键),query(查询语句)
field 节点与查询sql中需要查询的字段和schema.xml配置文件中的field 对应.
注意以上复制时:driver="com.mysql.jdbc.Driver"
注意大小写(跟程序一样)我复制过来mysql变成大写,没有注意,被坑了。
3.修改solr-home/my_core/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>
原先为:solr-data-config.xml,修改上面创建文件名字即可。
4.在tomcat/solr/web-info/lib下添加mysql工具包(根据合适版本自行下载mysql-connector-java-5.1.8.jar)
5.重启tomcat或者在控制台重启
6.测试
看到这样的效果,初步配置也算完成了。
如果觉得有什么问题,或者是那些地方不足,欢迎吐槽和评论。博主好改正。