Elasticsearch之中文分词器插件es-ik的自定义词库
【 ik 自定义词库步骤】
1:创建词典
首先在 ik 插件的 config/custom 目录下创建一个文件 zhouls.dic (当然这个你可以自己命名,如my.dic都行)
在文件中添加词语即可, 每一个词语一行。
-------------------------------------------------------------------------------------------------------------
注意: 这个文件可以在 linux 中直接 vi 生成, 或者在 windows 中创建之后上传到这里。
如果是在 linux 中直接 vi 生成的, 可以直接使用。
如果是在 windows中创建的,需要注意文件的编码必须是 UTF-8 without BOM 格式 【 UTF-8 无
BOM 格式】
-------------------------------------------------------------------------------------------------------------
2: 修改 ik 的配置文件
默认情况下 ik 的配置文件就在 ik 插件的 config 目录下面。【 IKAnalyzer.cfg.xml】
把刚才创建的文件的位置添加到 ik 的配置文件中即可。
vi config/IKAnalyzer.cfg.xml
<properties> <comment>IK Analyzer 扩展配置</comment> <!--用户可以在这里配置自己的扩展字典 --> <entry key="ext_dict">custom/mydict.dic;custom/single_word_low_freq.dic;custom/zhouls.dic</entry> <!--用户可以在这里配置自己的扩展停止词字典--> <entry key="ext_stopwords">custom/ext_stopword.dic</entry> <!--用户可以在这里配置远程扩展字典 --> <!-- <entry key="remote_ext_dict">words_location</entry> --> <!--用户可以在这里配置远程扩展停止词字典--> <!-- <entry key="remote_ext_stopwords">words_location</entry> --> </properties>
------------------------------------------------------------------------------------------------------------------------------
ext_dict
是住词库,ext_stopword
是停用词库(把一些错误的分词加入进来,之后不会再被分词了);custom
目录中是我们的自定义词库。 这些词库都是本地词库。可以参考配置文档来设置。
------------------------------------------------------------------------------------------------------------------------------
注意: 需要把 my.dic 文件的位置添加到 key=ext_dict 这个 entry 中, 切记不要随意新增 entry,随意新增的 entry 是不被识别的。并且 entry 的名称也不能乱改, 否则也不会识别。
<entry key="ext_dict">custom/mydict.dic;custom/single_word_low_freq.dic;custom/my.dic</entry>
------------------------------------------------------------------------------------------------------------------------------
3: 重启 es 验证分词效果