欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

solr配置中文分词器 IK分词器

4. 重启solr服务

如果已经创建了索引,需要删除索引,重新导入数据(创建索引)

4.1查看配置的分词效果:

solr配置中文分词器 IK分词器

solr配置中文分词器 IK分词器

5. 配置IKAnalyzer分词扩展

 

把相关文件放到 /home/solr/solr-8.5.1/server/solr-webapp/webapp/WEB-INF/classes 目录下面,没有classes目录就创建一个

solr配置中文分词器 IK分词器

 

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>

对比一下添加扩展词

添加扩展词前:

solr配置中文分词器 IK分词器

添加扩展词后:

solr配置中文分词器 IK分词器

文件说明:

stopword.dic  是停用词库

ext.dic 是扩展词库

文件格式最好是 UTF-8无BOM格式编码,否则可能无效;

 

solr配置中文分词器 IK分词器

配置完成重启solr生效。