博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用HanLP增强Elasticsearch分词功能
阅读量:6591 次
发布时间:2019-06-24

本文共 2079 字,大约阅读时间需要 6 分钟。

hanlp-ext 插件源码地址: 或

Elasticsearch 默认对中文分词是按“字”进行分词的,这是肯定不能达到我们进行分词搜索的要求的。官方有一个 SmartCN 中文分词插件,另外还有一个 IK 分词插件使用也比较广。但这里,我们采用 HanLP 这款 自然语言处理工具 来进行中文分词。

Elasticsearch Elasticsearch 的默认分词效果是惨不忍睹的。

GET /_analyze?pretty{  "text" : ["重庆华龙网海数科技有限公司"]}复制代码

输出:

{ "tokens": [ { "token": "重", "start_offset": 0, "end_offset": 1, "type": "", "position": 0 }, { "token": "庆", "start_offset": 1, "end_offset": 2, "type": "", "position": 1 }, { "token": "华", "start_offset": 2, "end_offset": 3, "type": "", "position": 2 }, { "token": "龙", "start_offset": 3, "end_offset": 4, "type": "", "position": 3 }, { "token": "网", "start_offset": 4, "end_offset": 5, "type": "", "position": 4 }, { "token": "海", "start_offset": 5, "end_offset": 6, "type": "", "position": 5 }, { "token": "数", "start_offset": 6, "end_offset": 7, "type": "", "position": 6 }, { "token": "科", "start_offset": 7, "end_offset": 8, "type": "", "position": 7 }, { "token": "技", "start_offset": 8, "end_offset": 9, "type": "", "position": 8 }, { "token": "有", "start_offset": 9, "end_offset": 10, "type": "", "position": 9 }, { "token": "限", "start_offset": 10, "end_offset": 11, "type": "", "position": 10 }, { "token": "公", "start_offset": 11, "end_offset": 12, "type": "", "position": 11 }, { "token": "司", "start_offset": 12, "end_offset": 13, "type": "", "position": 12 } ] } 可以看到,默认是按字进行分词的。

elasticsearch-hanlp HanLP

HanLP 是一款使用 Java 实现的优秀的,具有如下功能:

中文分词 词性标注 命名实体识别 关键词提取 自动摘要 短语提取 拼音转换 简繁转换 文本推荐 依存句法分析 语料库工具 安装 elasticsearch-hanlp(安装见:

GET /_analyze?pretty{  "analyzer" : "hanlp",  "text" : ["重庆华龙网海数科技有限公司"]}复制代码

输出:

{ "tokens": [ { "token": "重庆", "start_offset": 0, "end_offset": 2, "type": "ns", "position": 0 }, { "token": "华龙网", "start_offset": 2, "end_offset": 5, "type": "nr", "position": 1 }, { "token": "海数", "start_offset": 5, "end_offset": 7, "type": "nr", "position": 2 }, { "token": "科技", "start_offset": 7, "end_offset": 9, "type": "n", "position": 3 }, { "token": "有限公司", "start_offset": 9, "end_offset": 13, "type": "nis", "position": 4 } ] } HanLP 的功能不止简单的中文分词,有很多功能都可以集成到 Elasticsearch 中。

文章来源于羊八井的博客

转载地址:http://uruio.baihongyu.com/

你可能感兴趣的文章
MySQL Optimization 优化原理
查看>>
【译】Quora 问答:为什么老师说我不适合编程?
查看>>
SQL Server 学习 SQL 语句 ( 三 )
查看>>
Node.js 静态服务器新知
查看>>
AlwaysOn 进阶 Level 1:What is "SQL Server AlwaysOn"?
查看>>
webpack搭建多页面系统(三) 理解webpack.config.js的四个核心概念
查看>>
JavaScript作用域
查看>>
【295天】跃迁之路——程序员高效学习方法论探索系列(实验阶段53-2017.11.27)...
查看>>
Spring之面向切面
查看>>
Cloud + TiDB 技术解读
查看>>
Mysql迁移新环境索引损坏
查看>>
物联网协议之CoAP协议开发学习笔记之常用开源代码实现
查看>>
一些Mac的使用技巧
查看>>
spring event发布及监听实例
查看>>
JavaScript 之银弹の技法
查看>>
html+css+js开发文本编辑器,有各种排版功能!
查看>>
jQTips · 动态添加元素的清爽写法
查看>>
基于Thinkphp5+phpQuery 网络爬虫抓取数据接口,统一输出接口数据api
查看>>
webApp实战开发,仿网易新闻webApp
查看>>
利用css3修改input[type=radio]样式
查看>>