700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > ik与拼音分词器 拓展热词/停止词库

ik与拼音分词器 拓展热词/停止词库

时间:2021-06-19 22:58:00

相关推荐

ik与拼音分词器 拓展热词/停止词库

说明:本篇文章讲述elasticsearch分词器插件的安装,热词库停止词库的拓展,文章后面提到elasticsearch ,都是以es简称。

以下分词器的安装以ik分词器和pinyin分词器为例说明,使用的操作系统是Linux,使用的分词器器版本是6.5.4版本,对应的es版本也是6.5.4(写这篇文章时对应最新es是7.2版本),这里需要强调的是分词器插件和es版本一定要一致,否则容易导致问题,比如,

我的pinyin分词器最早使用的是6.5.2,觉得与es版本相差不远,应该能支持,实际安装后,因为pinyin分词器版本问题导致es启动失败。

1、ik分词器的安装(Linux)

下载6.5.4版本的ik分词器,下载地址:/medcl/elasticsearch-analysis-ik/releases/download/v6.5.4/elasticsearch-analysis-ik-6.5.4.zip

安装:

1.1 、将分词器拉取到es安装所在服务器的es安装主目录的{ES_HOME}/plugins 目录下

1.2、解压ik分词器 unzipelasticsearch-analysis-ik-6.5.4.zip -dik

1.3、重启es服务器

1.4、执行命令 cd{ES_HOME}/logs 切换到日志目录,tail -1000felasticsearch.log 看下是否日志报错,没有报错说明启动正常,安装插件成功。

2、ik分词器扩展

2.1、切换到刚刚安装的ik分词器插件配置目录目录 cd{ES_HOME}/plugins/ik/config

2.2、执行ls 命令可以看到,以下文件列表:extra_main.dic extra_single_word.dic extra_single_word_full.dic extra_single_word_low_freq.dic extra_stopword.dic IKAnalyzer.cfg.xml main.dic preposition.dic quantifier.dic stopword.dic suffix.dic surname.dic

2.3、以上看到的.dic结尾的 文件,是ik的一些默认词库,实际上你可以打开修改默认词库,但是需要重建索引,并且重新导入数据才会生效。

2.4、这里比较重要的文件是IKAnalyzer.cfg.xml,执行 viIKAnalyzer.cfg.xml 打开文件,可以看到如下内容:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE properties SYSTEM "/dtd/properties.dtd">

<properties>

<comment>IK Analyzer 扩展配置</comment>

<!--用户可以在这里配置自己的扩展字典 -->

<entry key="ext_dict"></entry>

<!--用户可以在这里配置自己的扩展停止词字典-->

<entry key="ext_stopwords"></entry>

<!--用户可以在这里配置远程扩展字典 -->

<entry key="remote_ext_dict">http://deploy_ip:port/myweb/myHotDic.txt</entry>

<!--用户可以在这里配置远程扩展停止词字典-->

<!-- <entry key="remote_ext_stopwords">words_location</entry> -->

</properties>

这里可以添加自己拓展字典,也可以远程扩展,这里结合业务逻辑拓展远程字典,这样就可以通过地址直接访问这些字典,远程拓展字典可以通过web服务来维护,配置好后,重启es,使得配置生效。

重启后, 在新增热词字段,不需要重启,但时有个问题,就是对于已经同步入库的(即历史同步的数据),新增加的热词无法生效。

3、拼音分词器安装

下载6.5.4版本的pinyini分词器,下载地址:/medcl/elasticsearch-analysis-pinyin/releases/download/v6.5.4/elasticsearch-analysis-pinyin-6.5.4.zip

1.1 、将分词器拉取到es安装所在服务器的es安装主目录的{ES_HOME}/plugins 目录下

1.2、解压ik分词器 unzipelasticsearch-analysis-pinyin-6.5.4.zip -dpinyin

1.3、重启es服务器

1.4、执行命令 cd{ES_HOME}/logs 切换到日志目录,tail -1000felasticsearch.log 看下是否日志报错,没有报错说明启动正常,安装插件成功。

结语:分词器虽好,但是了解一些分词器特定是必要,比如,ik分词器将"普通高中"分隔为一个词,这样如果搜索内容中包含这个,搜索"高中"这个词是搜索不到的,但是如果,内容里面包含”普通的高中“,那么搜索”高中“就可以搜索到这条内容。

另外,分词器拓展热词库在web服务里面维护终究需要人肉去做的,如果能够在搜索过程中自动提取热词并且拓展ik不存在的,而又需要的热词就完美了

相关文章:使用logstash同步mysql数据到elasticsearch

技术合作:

qq:281414283

微信:so-so-life

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。