使用docker命令行为elasticsearch安装ik中文分词插件

背景:mac + docker desktop + elasticsearch 7.8.0

 

Elasticsearch是一款开源的搜索和分析引擎,它基于Apache许可证,因此可以免费使用。无论是版本6、版本7还是最新版本,Elasticsearch的核心功能都是免费的。 
 
然而,Elasticsearch还提供了一个称为Elastic Stack的商业套件,其中包括Elasticsearch以及其他附加功能和工具,如Kibana、Logstash和Beats。这些附加功能和工具在商业使用上可能需要购买许可证。 
 
商业版本的Elastic Stack提供了更多高级功能和扩展,如安全性、监控、报告、机器学习等。此外,商业版本还提供了更全面的技术支持和服务,包括24/7的技术支持、培训和咨询等。 

 

一、安装ik中文分词插件

docker exec -it elastic_search /bin/bash -c 'bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.8.0/elasticsearch-analysis-ik-7.8.0.zip'

 

注意:这里我们使用的ik插件的版本也是7.8.0,主要目的是因为elasticsearch的版本是7.8.0,我们为了避免出现不兼容,这里特意选择版本一致,你也可以选择新版本的ik插件进行安装测试。

 

二、重启elasticsearch

docker restart elastic_search

 

三、测试ik分词效果

curl -X GET "http://localhost:9200/_analyze" -H 'Content-Type: application/json' -d'
   {
     "analyzer": "ik_smart",
     "text": "我爱自然语言处理"
   }'

 

四、存在的问题

步骤三的例子,看起来分词效果还不错,但是在我看来还是存在不少问题,你可以换个句子,把同样的简体句子换成繁体,比如:

这家餐厅很差,环境也很差,服务态度也很差,不推荐!
這家餐廳很差,環境也很差,服務態度也很差,不推薦!
chatgpt实现对中文分词使用的是:双向长短时记忆网络(Bidirectional LSTM),感兴趣的朋友可以自行研究。
不同分词模型,对同一段中文句子的分词结果是有差异的,但是都不完美,看来在分词这块仍然有不小的改进空间啊。

 

posted @ 2023-10-19 23:11  jamstack  阅读(141)  评论(0编辑  收藏  举报