目录

  • hanlp分词插件
  • 插件安装
    • 在线安装
    • 离线安装
    • 安装数据包
  • 同义词配置

hanlp分词插件

HanLP是一款免费开源(Apache License 2.0协议)中文语义分词工具,它提供中文分词、词性标注、命名实体识别、依存句法分析、语义依存分析、新词发现、关键词短语提取、自动摘要、文本分类聚类、拼音简繁转换、自然语言处理等功能。
Elasticsearch hanlp分词插件是基于HanLP开发的Elasticsearch分词插件,能够提供中文语义分词,词性标注等功能。
Elasticsearch默认的分词插件只支持英文,中文的分词效果比较差,目前比较热门的中文分词插件有ik分词、jieba分词、hanlp分词几种,重准确率、性能等方面来说hanlp还是比较有优势的详细信息可以看这里中文分词器对比

插件安装

Elasticsearch插件安装方式有两种,在线安装、离线安装

在线安装

进入Elasticsearch安装目录比如 /usr/share/elasticsearch/, 执行命令:

[root@eda525b6199e elasticsearch]# cd /usr/share/elasticsearch
[root@eda525b6199e elasticsearch]#./bin/elasticsearch-plugin install https://github.com/KennFalcon/elasticsearch-analysis-hanlp/releases/download/v7.5.0/elasticsearch-analysis-hanlp-7.5.0.zip

其中的版本号做对应修改,一般和Elasticsearch版本号保存一致,安装成功后验证

[root@eda525b6199e elasticsearch]#./bin/elasticsearch-plugin list

显示如下,表示安装成功

[root@eda525b6199e elasticsearch]# ./bin/elasticsearch-plugin list
analysis-hanlp

此时我们可以在Elasticsearch的安装目录下的plugins目录下看到一个名问analysis-hanlp文件夹

离线安装

首先下载Elasticsearch hanlp插件安装包,下载地址网盘密码i0o7, 下载和Elasticsearch一样得版本
安装
将下载好的zip文件放到指定目录,如果/usr/share/elasticsearch/目录,通过下述命令安装

[root@eda525b6199e elasticsearch]# cd /usr/share/elasticsearch
[root@eda525b6199e elasticsearch]#./bin/elasticsearch-plugin install file:/usr/share/elasticsearch/elasticsearch-analysis-hanlp-7.5.0.zip

file: 后面是zip文件的绝对路径,否则安装可能不成功。
安装成功后验证方式和在线安装一样

安装数据包

Hanlp是基于语义的分词,采用机器学习算法,通过机器学习算法采集出大量的数据文件,直接安装的插件只包含默认的数据包,如果需要安装完整的数据包,可以从这里下载,下载完成后放到elasticsearch 安装目录下的/plugins/analysis-hanlp 目录下,重启Elasticsearch即可

同义词配置

Elasticsearch提供同义词配置(不是hanlp的),在新建索引的时候可以指定同义词文件,或者直接在索引配置文件中指定同义词
在hanlp插件的安装目录下我们可以找到其采集的同义词文件:
在Elasticsearch安装目录下的config目录下新建文件夹synonym文件夹,在此文件夹下新建文件名问synonmy.txt, 内容如下:

人类, 生人, 全人类
人手, 人员, 人口, 人丁, 口, 食指
劳力, 劳动力, 工作者
匹夫, 个人
家伙, 东西, 货色, 厮, 崽子, 兔崽子, 狗崽子, 小子, 杂种, 畜生, 混蛋, 王八蛋, 竖子, 鼠辈, 小崽子
每人, 各人, 每位
该人, 此人
群众, 大众, 公众, 民众, 万众, 众生, 千夫
良民, 顺民
遗民, 贱民, 流民, 游民, 顽民, 刁民, 愚民, 不法分子, 孑遗
人丛, 人群, 人海, 人流, 人潮

一换行分割,同义词之间用逗号分割,保存为utf-8格式
新建索引,配置如下:

{"aliases": {},"mappings": {"properties": {"content": {"type": "text","fields": {"keyword": {"type": "keyword","ignore_above": 256}},"analyzer": "hanlp_index","search_analyzer": "hanlp_nlp"},"createTime": {"type": "date","fields": {"keyword": {"type": "keyword","ignore_above": 256}}},"documentName": {"type": "text","fields": {"keyword": {"type": "keyword","ignore_above": 256}},"analyzer": "hanlp_index","search_analyzer": "hanlp_nlp"},"id": {"type": "text","fields": {"keyword": {"type": "keyword","ignore_above": 256}},"analyzer": "standard"},"updateTime": {"type": "date","fields": {"keyword": {"type": "keyword","ignore_above": 256}}}}},"settings": {"index": {"number_of_shards": "1","analysis": {"filter":{"hanlp_synonym":{"ignore_case":"true","expand":"true","type":"synonym","synonyms_path":"synonym/synonym.txt"},"hanlp_stop":{"type": "stop","stopwords_path": "stop/stopwords.txt"}},"analyzer": {"hanlp_index": {"filter": ["lowercase","hanlp_stop","hanlp_synonym"],"char_filter": ["html_strip"],"tokenizer": "hanlp_index"},"hanlp_search": {"filter": ["lowercase","hanlp_stop","hanlp_synonym"],"char_filter": ["html_strip"],"tokenizer": "hanlp_nlp"}}},"number_of_replicas": "1"}}
}

在索引配置文件的setting配置中定义一个同义词的filter,名称可以随便取,但是使用的时候别用错

Elasticsearch学习笔记(三)安装hanlp中文分词插件及同义词配置相关推荐

  1. ElasticSearch学习笔记(安装与使用)

    问题一.ElasticSearch是什么?有什么用处? 答:截至2018年12月28日,从ElasticSearch官网(https://www.elastic.co/cn/products)上,得知 ...

  2. ElasticSearch学习笔记之十一 Anayle API和IK分词器

    ElasticSearch学习笔记之十一 Anayle API和IK分词器 Anayle API IK分词器 IK分词器版本支持 安装 下载或者编译 选择一 选择二 重启ElasticSearch I ...

  3. Elasticsearch:hanlp 中文分词器

    HanLP 中文分词器是一个开源的分词器,是专为Elasticsearch而设计的.它是基于HanLP,并提供了HanLP中大部分的分词方式.它的源码位于: https://github.com/Ke ...

  4. homeassistant mysql_学习笔记 篇三:HomeAssistant学习笔记docker安装的ha更换数据库

    学习笔记 篇三:HomeAssistant学习笔记docker安装的ha更换数据库 2018-11-15 12:06:58 4点赞 18收藏 3评论 是返乡过年?还是就地过年?最新一届#双面过节指南# ...

  5. ElasticSearch学习笔记-ngram、中文拼音、简繁体搜索记录

    ElasticSearch版本:elasticsearch-7.3.0 ElasticSearch相关插件安装可以参考: ElasticSearch学习笔记-插件安装记录_人生偌只如初见的博客-CSD ...

  6. 黑马程序员--分布式搜索ElasticSearch学习笔记

    写在最前 黑马视频地址:https://www.bilibili.com/video/BV1LQ4y127n4/ 想获得最佳的阅读体验,请移步至我的个人博客 SpringCloud学习笔记 消息队列M ...

  7. jieba库 python2.7 安装_Python中文分词工具大合集:安装、使用和测试

    这篇文章事实上整合了前面两篇文章的相关介绍,同时添加一些其他的Python中文分词相关资源,甚至非Python的中文分词工具,仅供参考. 首先介绍之前测试过的8款中文分词工具,这几款工具可以直接在AI ...

  8. 基于 HanLP 的 ES 中文分词插件

    一.分词插件 1.分词器概念 在 ES 中,分词器的作用是从文本中提取出若干词元(token)来支持索引的存储和搜索,分词器(Analyzer)由一个分解器(Tokenizer).零个或多个词元过滤器 ...

  9. ElasticSearch学习笔记(一)

    ElasticSearch学习 环境准备 JDK 1.8 Node.js 相关文件 (Windows 练习的话,使用 6.2.2 版本较为稳定, 否则 Kibana 可能会遇到一些启动报错问题) 资源 ...

最新文章

  1. 想在SqlDbHelper.cs类中加的垃圾方法
  2. 如何配置LCD背光和LED,调试方法
  3. 数字语音信号处理学习笔记——语音信号的短时时域分析(2)
  4. docker容器的重启策略:通过--restart来指定
  5. mysql记录操作日志
  6. QML和C ++之间的数据类型转换
  7. “天昌”的挽歌——逝去的背影(一)
  8. Serverless 实战 —— 阿里云函数计算配合SpringBoot项目
  9. 序列化(串行化)- 使用BinaryFormatter进行序列化
  10. 12017.linux设置串口支持非标准波特率614400
  11. matlab 虚数 .,关于MATLAB在复数方面的应用 – MATLAB中文论坛
  12. 移植制造时保持资源的「统一」。
  13. LINUX 编译gluegen/jogl
  14. 在线uml画图工具网站
  15. H3C交换机 access端口配置
  16. 使用LSTM生成序列、自动问答使用?分割即可!
  17. 奕东电子深交所上市:市值115亿 小米产业基金是股东
  18. 微信公众平台开发实例 php,php微信公众平台开发类实例,php公众平台实例_PHP教程...
  19. 服务器外链图片不显示,新浪图床已限制图片外链使用(附解决方法)
  20. 记录安装tensorflow-gpu,版本选择问题,短平快解决战斗

热门文章

  1. 一个dht网络的“磁力链接”搜索python代码
  2. [rosrun] Couldn‘t find executable named xxx
  3. 微信小程序之网易云音乐小案例
  4. mac 邮箱客户端之腾讯企业邮箱设置 无法验证账号或密码
  5. Docker 基础 (一)
  6. iOS 15 新功能:即使手机关闭,也能找到丢失的iPhone
  7. 计算机练打字最难的一段话,电脑盲打字一般练多久 你用多久练会了盲打?
  8. 数据分析中常用分析思路对比分析解析(一)
  9. .xb文件腾讯云备份恢复
  10. java.lang.RuntimeException: A TaskDescription‘s primary color should be opaque