solr配置中文分词器 IK分词器
程序员文章站
2022-07-09 17:13:28
...
我的solr安装目录:/home/solr/
上一篇记录了solr安装步骤:https://blog.csdn.net/Muscleheng/article/details/106126886
solr默认是没有中文分词功能,需要我们自己安装配置插件,这里使用IK分词器
1.下载分词器 ikanalyzer
网上有很多个版本,我用的是 ik-analyzer-8.3.0.jar 点击下载
2.修改配置文件
2.1 将ik-analyzer-8.3.0.jar放到/home/solr/solr-8.5.1/server/solr-webapp/webapp/WEB-INF/lib 目录下
2.2 在/home/solr/solr-8.5.1/server/solr/new_core/conf/managed-schema文件中添加如下配置
<!-- IKAnalyzer分词器 -->
<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>
把需要分词的字段,设置type为 text_ik
4. 重启solr服务
如果已经创建了索引,需要删除索引,重新导入数据(创建索引)
4.1查看配置的分词效果:
5. 配置IKAnalyzer分词扩展
把相关文件放到 /home/solr/solr-8.5.1/server/solr-webapp/webapp/WEB-INF/classes 目录下面,没有classes目录就创建一个
5.1 修改IKAnalyzer.cfg.xml配置
5.2 在ext.dic文件中添加自己的扩展词,需要重启solr服务,如果已经建了索引的,需要删除数据重新导入
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 扩展配置</comment>
<!-- 配置是否加载默认词典 -->
<entry key="use_main_dict">true</entry>
<!-- 配置自己的扩展字典,多个字典用分号分隔;ext.dic文件第一行为空,每个词一行 -->
<entry key="ext_dict">ext.dic;</entry>
<!-- 配置自己的扩展停止词字典,多个用分号分隔 -->
<entry key="ext_stopwords">stopword.dic;</entry>
</properties>
对比一下添加扩展词
添加扩展词前:
添加扩展词后:
文件说明:
stopword.dic 是停用词库
ext.dic 是扩展词库
文件格式最好是 UTF-8无BOM格式编码,否则可能无效;
配置完成重启solr生效。
推荐阅读
-
docker 部署 Elasticsearch kibana及ik分词器详解
-
Lucene-分词器简介及IK分词器的使用
-
docker 安装(6.x单机)elasticsearch、elasticsearch-head、ik分词器
-
ek插件------ik中文分词器的使用
-
ElasticSearch学习 - (八)安装中文分词器IK和拼音分词器
-
ElasticSearch教程——安装IK分词器插件
-
白话Elasticsearch28-IK中文分词器的安装和使用
-
IK分词器的介绍、安装、测试
-
Elasticsearch的IK分词器配置说明
-
Elasticsearch7.5配置IK中文分词器+拼音分词