热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Solr06-Solr配置IK分词器和业务域

目录1配置中文分词器1.1准备IK中文分词器1.2配置schema.xml文件1.2.1加入使用IK分词器的域类型1.

目录

  • 1 配置中文分词器
    • 1.1 准备IK中文分词器
    • 1.2 配置schema.xml文件
      • 1.2.1 加入使用IK分词器的域类型
      • 1.2.2 加入使用IK分词器的域
    • 1.3 重启Tomcat并测试
  • 2 配置业务域
    • 2.1 准备商品数据
    • 2.2 配置商品业务域
    • 2.3 配置schema.xml文件
    • 2.4 重新启动Tomcat并查看配置

1 配置中文分词器

1.1 准备IK中文分词器

  1. 复制IK解压目录中的jar包: IKAnalyzer2012FF_u1.jar. 可在 我的github 下载.

  2. 粘贴到tomcat/webapps/solr/WEB-INF/lib目录.

  3. 复制IK解压目录中的配置文件:
    图片

  4. 粘贴到tomcat/webapps/solr/WEB-INF/classes目录.

1.2 配置schema.xml文件

1.2.1 加入使用IK分词器的域类型



    

1.2.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;

具体表数据可在 我的github 下载.

2.2 配置商品业务域

说明: 分析商品数据库表, 确定哪些字段需要在Solr中建立索引和存储.

字段: pid, name, catalog, catalog_name, price, description, picture

  • 商品Id(直接使用Solr的id域):
 
  • 商品名称(若要用于高亮显示, 必须设置stored="true"):
 
  • 商品分类id:
 
  • 商品分类名称(String类型, 表示整体匹配, 不作分词):
 
  • 商品价格:
 
  • 商品描述:
 
  • 商品图片:
 
  • 配置商品复制域(stored="true", 实际开发中multiValued="true"的field不需要存储, 这里存储便于观察效果):

 


2.3 配置schema.xml文件

注意: 这里id使用Solr默认的id域(一定要有主键, 没有则需要将默认的id域删除, 也可更改id生成策略. 尝试过未在库中设置主键而此文件中的id域未删除也未重写, 此时可以建立索引, 却无法检索到结果(⊙﹏⊙)):

图片

2.4 重新启动Tomcat并查看配置

选中任意一个core, 选择Analysis, 在Fieldname / FieldType处查看, 观察配置是否成功:
图片

版权声明

作者: ma_shoufeng(马瘦风)

出处: 博客园 马瘦风的博客

您的支持是对博主的极大鼓励, 感谢您的阅读.

本文版权归博主所有, 欢迎转载, 但未经博主同意必须保留此段声明, 且在文章页面明显位置给出原文链接, 否则博主保留追究法律责任的权利.


推荐阅读
  • 深入解析HTML5字符集属性:charset与defaultCharset
    本文将详细介绍HTML5中新增的字符集属性charset和defaultCharset,帮助开发者更好地理解和应用这些属性,以确保网页在不同环境下的正确显示。 ... [详细]
  • Halcon之图像梯度、图像边缘、USM锐化
    图像梯度、图像边缘、USM锐化图像梯度、图像边缘、USM锐化图像梯度、图像边缘、USM锐化图像卷积:1.模糊2.梯度3.边缘4.锐化1.视频教程:B站、 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • MySQL 5.7 学习指南:SQLyog 中的主键、列属性和数据类型
    本文介绍了 MySQL 5.7 中主键(Primary Key)和自增(Auto-Increment)的概念,以及如何在 SQLyog 中设置这些属性。同时,还探讨了数据类型的分类和选择,以及列属性的设置方法。 ... [详细]
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 数据类型和操作数据表2.1MySQL类型之整型2.2MySQL数据类型之浮点型2.3日期时间型DATE1支持时间:1000年1月1日~9999年12月31日DATETIME ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 通过将常用的外部命令集成到VSCode中,可以提高开发效率。本文介绍如何在VSCode中配置和使用自定义的外部命令,从而简化命令执行过程。 ... [详细]
  • Spring Boot 中配置全局文件上传路径并实现文件上传功能
    本文介绍如何在 Spring Boot 项目中配置全局文件上传路径,并通过读取配置项实现文件上传功能。通过这种方式,可以更好地管理和维护文件路径。 ... [详细]
  • 单片微机原理P3:80C51外部拓展系统
      外部拓展其实是个相对来说很好玩的章节,可以真正开始用单片机写程序了,比较重要的是外部存储器拓展,81C55拓展,矩阵键盘,动态显示,DAC和ADC。0.IO接口电路概念与存 ... [详细]
  • oracle c3p0 dword 60,web_day10 dbcp c3p0 dbutils
    createdatabasemydbcharactersetutf8;alertdatabasemydbcharactersetutf8;1.自定义连接池为了不去经常创建连接和释放 ... [详细]
  • window下的python安装插件,Go语言社区,Golang程序员人脉社 ... [详细]
author-avatar
小情人恩恩baby
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有