美文网首页
Elasticsearch之中文分词器插件analysis-ik

Elasticsearch之中文分词器插件analysis-ik

作者: singleZhang2010 | 来源:发表于2021-02-19 17:10 被阅读0次

    概述

    在使用Elasticsearch搜索关键词的时候,有时候发现一些短语没被分词器识别出来,比如"这本书今年首次公开发售",此时搜 "公开发售",这个短语命中不了,此时需要用到自定义的词库。

    analysis-ik 添加自定义词库

    1. 首先在 Elasticsearch的 ik 插件 plugins\analysis-ik\config 目录下创建custom目录,然后创建my.dic文件
      之后,就可以在文件里添加自己想要的词了, 每一个词语一行(编码格式:UTF-8 without BOM 格式)
    2. 修改 ik 的配置文件
      修改IKAnalyzer.cfg.xml文件,如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
    <properties>
        <comment>IK Analyzer 扩展配置</comment>
        <!--用户可以在这里配置自己的扩展字典,多个文件可以用分号分开 -->
        <entry key="ext_dict">custom/mydict.dic</entry>
         <!--用户可以在这里配置自己的扩展停止词字典-->
        <entry key="ext_stopwords"></entry>
        <!--用户可以在这里配置远程扩展字典 -->
        <!-- <entry key="remote_ext_dict">words_location</entry> -->
        <!--用户可以在这里配置远程扩展停止词字典-->
        <!-- <entry key="remote_ext_stopwords">words_location</entry> -->
    </properties>
    
    1. 重启 es 服务
      在启动日志里找到: [Dict Loading] custom/mydict.dic这段信息,就算自定义词库被加载成功了
    重启es服务
    1. 在elasticsearch-head中验证一下
    验证

    就可以在列表中看到"公开发售"

    验证

    总结

    好了,以上就是简单的analysis-ik自定义词库的创建和使用,在搜索中经常会使用到的。

    相关文章

      网友评论

          本文标题:Elasticsearch之中文分词器插件analysis-ik

          本文链接:https://www.haomeiwen.com/subject/ktyaxltx.html