solr 6.2.0系列教程(二)IK中文分词器配置及添加扩展词、停止词、同义词
来源:互联网 发布:jdk1.8 linux 32 下载 编辑:程序博客网 时间:2024/05/18 01:33
前言
1、搭建好solr工程,搭建步骤参见:solr 6.2.0系列教程(一)环境搭建、索引仓库创建
2、solr的不同版本,对应不同版本的IK分词器。由于IK 2012年停止更新了。所以以前的版本不适合新版的solr。
有幸在网上扒到了IK源码自己稍微做了调整,用来兼容solr6.2.0版本。IK源码下载地址
步骤
1、解压下载的src.rar压缩包,这是我建的工程里的src目录下的所有东西,都是IK 的源码,没别的。解压直接复制src文件夹里的内容到自己工程src目录下即可。
2、打开\solrhome\core0\conf\managed-schema配置文件。随意位置添加配置:
<!-- IK分词配置 -->
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
3、在\solrhome\core0\conf\managed-schema配置文件配置文件中添加三个字段名称。
(这里的字段名称就像关系数据库中字段名一样,将来搜索数据按照字段名搜索,向每个字段添加数据在接下来的教程中介绍)
添加配置:
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="title" type="text_ik" indexed="true" stored="true" />
<field name="test" type="text_general" indexed="true" stored="true"/>
<field name="title" type="text_ik" indexed="true" stored="true" />
<field name="test" type="text_general" indexed="true" stored="true"/>
其中title 字段的type属性为 text_ik,即我们刚添加的IK分词器。
test字段的type属性为text_general,即solr自带的分子器。
4.启动工程,首先简单介绍一下solr管理界面的使用。
启动工程-->选择已创建的core0-->选择图中位置1的Analysis栏。
在图中位置2的输入框中输入一句话-->图中位置4的下拉框选择\solrhome\core0\conf\managed-schema配置文件中配的title字段名--->点击位置5Analyse Valu
显示的分词结果便是这句话经过IK分词器分词后存入solr的结果。
同样,输入一句话选择test字段进行分析 便是这句话经过solr自带的分词器分词后存入solr的结果。
当我们在位置3输入一句话然后选择相应的字段名,再点Analyse Valu后,显示的分词结果是:外部接口调用solr查询功能传过来的搜索关键词的分词情况。
比如:外部调用solr查询接口,搜索title字段下与关键词”中文分词配置问题“相关的内容。
下面看一下各种情况的分词结果。
------------------------------------------分割线------------------------------------------
------------------------------------------分割线------------------------------------------
------------------------------------------分割线------------------------------------------
或许你会发现,用IK分词器分词后的结果中为什么”的“字消失了。
IK分词器还有一些叫做扩展词,停止词的配置。"的"字是IK分词器的默认停止词,停止词就是没有意义的词,这类词不参与搜索。
5、配置IK分词器的扩展词、停止词。
将下载的文件夹中的IKAnalyzer.cfg.xml、stopword.dic、ext.dic三个文件复制到项目工程src目录下。
6、设置扩展词:在ext.dic文件中新增一个词,比如:”中文分词“(注意保存的格式为UTF-8 无BOM格式)。扩展词就是告诉IK分词器,配置的扩展词看作一个单元,不做切分。
7、重启solr工程
这里“中文分词”四个字作为一个完整的词没被切分,存入搜索引擎了。为什么后边还会出现被切分了的“中文”和“分词”呢。
其实IK分词器有两种模式,一种为smart模式,一种为非smart模式。例如:张三说的确实在理
smart模式下的分词结果:张三|说的|确实|在理
非smart模式下的分词结果:张三|三|说的|的确|的|确实|实在|在理
可见非smart模式所做的就是将能够分出来的词全部输出;smart模式下的IK分词器会根据内在的方法输出一个认为最合理的分词结果。
8、配置停止词:在stopword.dic文件中新增一个词"问题"(注意保存的格式为UTF-8 无BOM格式)。重启tomcat
可见配置生效,停止词就是告诉IK不去理会的词。
1 0
- solr 6.2.0系列教程(二)IK中文分词器配置及添加扩展词、停止词、同义词
- solr配置同义词,停止词,和扩展词库(IK分词器为例)
- solr中ik分词配置同义词、停止词、自定义词库
- solr6.6配置IK中文分词、IK扩展词、同义词、pinyin4j拼音分词
- Solr IK分词 停止词 扩展词 创建core
- solr cloud系列-IK中文分词器
- 十、solr中ik分词器加入同义词配置
- solr配置中文分词器IK Analyzer
- solr配置中文IK Analyzer分词器
- solr之使用IKAnalyzer配置同义词,停止词,扩展词。
- solr配置停止词,同义词和扩展词库
- solr配置停止词,同义词和扩展词库
- Solr 5.0.0配置中文分词器IK Analyzer
- solr配置ik中文分词
- (二)solr-4.5.1中文分词器(IK-Analyzer)配置
- Lucene5中编写自定义同义词分词器(基于IK中文分词器)二
- Solr-----4、Solr添加IK中文分词器
- 三、Solr多核心及分词器(IK)配置
- 极速微信小程序开发,第一天
- CodeForces 776C Molly's Chemicals
- Mac 上 java 究竟在哪里,本文彻底让你搞清楚!
- sttdio多渠道打包
- 修改struts2拦截器默认值
- solr 6.2.0系列教程(二)IK中文分词器配置及添加扩展词、停止词、同义词
- qduoj 76 映射游戏
- Android继承知识---传感器初识
- sttdio多渠道打包
- EventBus的使用
- jsp九大内置对象中 out 和 response.getWriter的区别
- 简单的封装一个批量上传的控件
- 从Servlet传值给JSP页面
- 编译hotspot源码