如何使用HanLP增强Elasticsearch分词功能-创新互联
                                            这篇文章主要介绍如何使用HanLP增强Elasticsearch分词功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

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(安装见:https://github.com/hualongdata/hanlp-ext/tree/master/es-plugin)插件以后,我们再来看看分词效果。
    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分词功能”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联-成都网站建设公司行业资讯频道!
分享标题:如何使用HanLP增强Elasticsearch分词功能-创新互联
URL标题:http://www.cqwzjz.cn/article/dgicis.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 