准备
solr7.4.0未安装请移步 solr安装
solr 未配置中文分词请移步 中文分词
配置mysql数据源步骤如下
下载mysql驱动包
地址:http://central.maven.org/maven2/mysql/mysql-connector-java/
将 mysql 驱动包导入 solr
将下载下来的 mysql-connector-java-x.x.x.jar 拷贝到 server/solr-webapp/webapp/WEB-INF/lib 下
配置
前提是你已经安装solr,并创建了个test项目
找到test目录下的managed-schema
cd /root/tar/solr-7.4.0
vim server/solr/test/conf/managed-schema
在以下注释
增加配置信息
<requestHandler name="/dataimport"
class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">mysql-db/data-config.xml</str>
</lst>
</requestHandler>
新建data-config.xml
data-config.xml 文件的目录可以自己定义,本例在 server/solr/test/conf
创建mysql-db目录
mkdir mysql-db
vim mysql-db/data-config.xml
内容为
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/solr"
user="root"
password="root" />
<document>
<entity name="person" query="select * from good"
deltaQuery="select * from good where name > '${dataimporter.last_index_time}'">
<field column="id" name="good_id" />
<field column="name" name="good_name" />
</entity>
</document>
</dataConfig>
field :name 为solr字段,名字可以随意取。column 为数据库表字段
导入 solr 的库文件
复制solr-dataimporthandler-7.4.0.jar(一般在本地solr-7.4.0/dist下) 到 server/solr-webapp/webapp/WEB-INF/lib
创建数据库 solr
新建good表
CREATE TABLE `good` (
`good_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '类型编号',
`good_name` varchar(100) NOT NULL COMMENT '类型名称',
PRIMARY KEY (`good_id`)
) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
重启solr
bin/solr restart -force
添加数据库字段
在可视化后台添加数据库字段,也可以修改managed-schema(在test/conf下)文件中添加对应于数据库字段的field,建议在可视化后台添加。
field type:如果字段包含中文的话,建议选择中文分词。
导入数据
选择“Dataimport”
full-import:全量导入
delta-import:增量导入
选中“clean” 话表示每次导入,清除以前的数据
Entity:表名
Auto-Refresh Status:定时刷新数据
Execute:提交导入数据
查询