当前位置:   article > 正文

ElasticSearch 7.3 实战:中文分词器(IK Analyzer)及自定义词库

ik analyzer

在Elasticsearch 7.3中使用IK Analyzer作为中文分词器并自定义词库的过程包括以下几个步骤:

安装IK Analyzer插件

首先,你需要在Elasticsearch集群中安装IK Analyzer插件。可以通过以下命令安装(假设你已经在Elasticsearch的bin目录下):

# 对于 Elasticsearch 7.x 版本
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.3.0/elasticsearch-analysis-ik-7.3.0.zip
  • 1
  • 2

配置IK Analyzer

  1. 配置自定义词库

    • 找到IK Analyzer插件的配置目录,通常位于plugins/ik/config路径下。
    • 在该目录下有一个IKAnalyzer.cfg.xml文件,编辑此文件以指定自定义词典的位置。例如,如果你在custom目录下创建了一个名为my_dict.dic的词典文件,则需要在配置文件中添加如下内容:
    <wordDictionary>plugins/ik/config/custom/my_dict.dic</wordDictionary>
    
    • 1
  2. 添加自定义词库

    • 在上述提到的custom目录下创建或放置自定义词典文件,每行一个词语。
  3. 重启Elasticsearch

    • 完成词典配置后,需要重启Elasticsearch使新词典生效。在Linux系统中可以使用kill命令结束Elasticsearch进程并重新启动;在Windows系统中,可以通过关闭命令行窗口并重新运行.bat启动脚本来完成重启。

测试分词效果

你可以使用Elasticsearch的_analyze API来测试IK Analyzer是否成功加载自定义词库并正确分词:

GET /_analyze
{
  "analyzer": "ik_max_word", // 或 ik_smart
  "text": "这里是我自定义的词汇"
}
  • 1
  • 2
  • 3
  • 4
  • 5

应用自定义分词器至索引

如果想在特定索引中使用IK Analyzer作为默认或特定字段的分词器,你需要在索引映射中指定:

PUT my_index
{
  "settings": {
    "index": {
      "analysis": {
        "analyzer": {
          "my_ik_analyzer": { 
            "type": "ik_max_word",
            "stopwords": "_chinese_", // 可选,使用停用词表
            "use_smart": true/false // 根据需求启用或禁用智能分词模式
          }
        }
      }
    }
  },
  "mappings": {
    "_doc": {
      "properties": {
        "content": {
          "type": "text",
          "analyzer": "my_ik_analyzer" // 在“content”字段上应用自定义IK分词器
        }
      }
    }
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

这样,当索引文档中的content字段时,IK Analyzer会使用自定义词库进行分词。并且,新扩充的词典仅对扩展后新增加的索引数据有效,对于历史索引数据则需要重新索引才能应用新词典的分词效果。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/966634
推荐阅读
相关标签
  

闽ICP备14008679号