采集内容插入词库(拓展词库22节3、自定义词库)

优采云 发布时间: 2021-11-17 06:14

  采集内容插入词库(拓展词库22节3、自定义词库)

  【ES从入门到实战】两个十三、全文搜索-ElasticSearch-分词-自定义扩展词库

  从第 22 节继续

  3),自定义词库

  ik tokenizer 的默认分词不符合我们的需求。对于一些新的网络术语,ik tokenizer 将无法准确识别分词,例如:

  POST _analyze

{

"analyzer": "ik_max_word",

"text": "乔碧萝殿下"

}

  分词后显示如下,可以看到ik分词器无法识别“乔碧洛”是人名:

  

  在此处插入图片说明

  因此,有必要对词典进行自定义和扩展。

  自定义扩展词库,可以修改ik tokenizer的配置文件,指定一个远程词库,让ik tokenizer向远程发送请求,获取一些最新的词,以便使用最新的词随着最新的词源崩溃。

  有两种方法可以实现自定义词库:

  自己实现一个服务,处理ik tokenizer的请求,让ik tokenizer向自定义项目发送请求搭建nginx服务器,在nginx中放入最新的词库,让ik tokenizer向nginx发送请求, nginx 会将它发送到 nginx。ik tokenizer 返回最新的词典,以便 ik tokenizer 可以将原创词典与新词典合并。

  nginx安装参考六、 appendix-install nginx

  这里我使用第二种方式自定义词库。在创建之前,您需要安装 nginx。请访问第 6 章中的相关内容。

  在/mydata/nginx/html/路径下新建es目录,新建同义词表fenci.txt:

  

  在此处插入图片说明

  可以请求访问同义词库的内容:

  

  在此处插入图片说明

  修改/usr/share/elasticsearch/plugins/ik/config/中的IKAnalyzer.cfg.xml

  

  在此处插入图片说明

  /usr/share/elasticsearch/plugins/ik/config

  

IK Analyzer 扩展配置

http://192.168.56.10/es/fenci.txt

  

  在此处插入图片说明

  注意:如果打开IKAnalyzer.cfg.xml是乱码,可以先退出当前文件,在命令行输入vi /etc/virc,

  然后在文件中加入set encoding=utf-8,保存退出,重新打开IKAnalyzer.cfg.xml。

  

  在此处插入图片说明

  原创xml:

  

IK Analyzer 扩展配置

  重启ES:

  docker restart elasticsearch

  在kibana中重新执行分词,可以看到之前无法识别的“乔碧洛”现在可以识别为一个词了:

  

  在此处插入图片说明

  如果我们以后有新词组,直接添加到上面的自定义词库fenci.txt,重启ES即可。

  由于之前安装nginx时重装了ES,所以需要设置ES的自动启动服务:

  码头工人更新elasticsearch --restart=always

  参考文献分析

  参考:

  弹性搜索参考

  松紧带

  全文搜索引擎 Elasticsearch 入门

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线