目录
1 配置中文分词器
1.1 准备IK中文分词器
(1) 复制IK解压目录中的jar包: IKAnalyzer2012FF_u1.jar
. 可以在 中下载, 文件是IK Analyzer 2012FF_hf1.zip
.
(2) 粘贴到tomcat/webapps/solr/WEB-INF/lib
目录.
(3) 复制IK解压目录中的配置文件:
(4) 粘贴到tomcat/webapps/solr/WEB-INF/classes
目录.
1.2 配置schema.xml文件
(1) 加入使用IK分词器的域类型
(2) 加入使用IK分词器的域
1.3 重启Tomcat并测试
选择任意Core, 然后在菜单栏里选择[Analysis], 输入中文语句, 进行分词测试:
2 配置业务域
需求引入: 假设现在要使用Solr完成电商网站商品数据的搜索, 需要将保存在关系数据库中的商品数据导入到Solr索引库中.
2.1 准备商品数据
DROP DATABASE IF EXISTS `solr`;CREATE DATABASE `solr`;USE `solr`;SET FOREIGN_KEY_CHECKS=0;DROP TABLE IF EXISTS `products`;CREATE TABLE `products` ( `pid` int(11) NOT NULL AUTO_INCREMENT COMMENT '商品编号', `name` varchar(255) DEFAULT NULL COMMENT '商品名称', `catalog` int(11) DEFAULT NULL COMMENT '商品分类ID', `catalog_name` varchar(50) DEFAULT NULL COMMENT '商品分类名称', `price` double DEFAULT NULL COMMENT '价格', `number` int(11) DEFAULT NULL COMMENT '数量', `description` longtext COMMENT '商品描述', `picture` varchar(255) DEFAULT NULL COMMENT '图片名称', `release_time` datetime DEFAULT NULL COMMENT '上架时间', PRIMARY KEY (`pid`)) ENGINE=InnoDB AUTO_INCREMENT=6126 DEFAULT CHARSET=utf8;
测试数据较大, 具体的SQL文件可以在 中下载, 文件是
Solr使用IK分词器的表数据.sql
.
2.2 配置商品业务域
说明: 分析商品数据库表, 确定哪些字段需要在Solr中建立索引和存储.
字段:
pid, name, catalog, catalog_name, price, description, picture
(1) 商品Id(直接使用Solr的id域):
(2) 商品名称(若要用于高亮显示, 必须设置stored="true"):
(3) 商品分类id:
(4) 商品分类名称(String类型, 表示整体匹配, 不作分词):
(5) 商品价格:
(6) 商品描述:
(7) 商品图片:
(8) 配置商品复制域(stored="true", 实际开发中multiValued="true"
的field不需要存储, 这里存储便于观察效果):
2.3 配置schema.xml文件
注意: 这里id使用Solr默认的id域(一定要有主键, 没有则需要将默认的id域删除, 也可更改id生成策略. 尝试过未在库中设置主键而此文件中的id域未删除也未重写, 此时可以建立索引, 却无法检索到结果(⊙﹏⊙)):
2.4 重新启动Tomcat并查看配置
选中任意一个core, 选择Analysis, 在 [Fieldname / FieldType] 处查看, 观察配置是否成功:
版权声明
作者:
出处: 博客园
您的支持是对博主的极大鼓励, 感谢您的阅读.
本文版权归博主所有, 欢迎转载, 但请保留此段声明, 并在文章页面明显位置给出原文链接, 否则博主保留追究相关人员法律责任的权利.