elasticsearch安装并使用中文分词器hanlp

安装

1.先下载好zip包
https://github.com/KennFalcon/elasticsearch-analysis-hanlp/releases/download/v6.5.4/elasticsearch-analysis-hanlp-6.5.4.zip
2.上传到服务器
3.执行如下命令安装,其中PATH为插件包绝对路径:
./elasticsearch-plugin install file:///opt/es6.4.1/plugins/elasticsearch-analysis-hanlp-6.4.1.zip

使用

hanlp分词种类
  • hanlp: hanlp默认分词

  • hanlp_standard: 标准分词

  • hanlp_index: 索引分词

  • hanlp_nlp: NLP分词

  • hanlp_n_short: N-最短路分词

  • hanlp_dijkstra: 最短路分词

  • hanlp_crf: CRF分词(已有最新方式)

  • hanlp_speed: 极速词典分词

es自带分词器
  • standard 分词器
    英文的处理能力同于StopAnalyzer.支持中文采用的方法为单字切分。他会将词汇单元转换成小写形式,并去除停用词和标点符号。
  • simple 分词器
    功能强于WhitespaceAnalyzer, 首先会通过非字母字符来分割文本信息,然后将词汇单元统一为小写形式。该分析器会去掉数字类型的字符。
  • Whitespace 分词器
    仅仅是去除空格,对字符没有lowcase化,不支持中文; 并且不对生成的词汇单元进行其他的规范化处理
  • Stop 分词器
    StopAnalyzer的功能超越了SimpleAnalyzer,在SimpleAnalyzer的基础上增加了去除英文中的常用单词(如the,a等),也可以更加自己的需要设置常用单词;不支持中文
  • keyword 分词器
    KeywordAnalyzer把整个输入作为一个单独词汇单元,方便特殊类型的文本进行索引和检索。针对邮政编码,地址等文本信息使用关键词分词器进行索引项建立非常方便。
  • pattern 分词器
    一个pattern类型的analyzer可以通过正则表达式将文本分成"terms"(经过token Filter 后得到的东西 )。接受如下设置:
    一个 pattern analyzer 可以做如下的属性设置:
    lowercaseterms是否是小写. 默认为 true 小写.pattern正则表达式的pattern, 默认是 \W+.flags正则表达式的flagsstopwords一个用于初始化stop filter的需要stop 单词的列表.默认单词是空的列表
  • language 分词器
    一个用于解析特殊语言文本的analyzer集合。( arabic,armenian, basque, brazilian, bulgarian, catalan, cjk, czech, danish, dutch, english, finnish, french,galician, german, greek, hindi, hungarian, indonesian, irish, italian, latvian, lithuanian, norwegian,persian, portuguese, romanian, russian, sorani, spanish, swedish, turkish, thai.)可惜没有中文。不予考虑
  • snowball 分词器
    一个snowball类型的analyzer是由standard tokenizer和standard filter、lowercase filter、stop filter、snowball filter这四个filter构成的。
    snowball analyzer 在Lucene中通常是不推荐使用的
  • Custom 分词器
    是自定义的analyzer。允许多个零到多个tokenizer,零到多个 Char Filters. custom analyzer 的名字不能以 "_"开头.
  • fingerprint 分词器
测试分词效果
  1. 打开Chrome浏览器,打开crap插件,debug模式,输入测试分词的语句
post  http://192.168.1.10:9200/_analyze/?pretty
{
     "text": "你去哪里",
     "analyzer": "hanlp"
}

在这里插入图片描述
2. 查看分词结果,跟es自带的分词器对比看看生效没有

spring data elasticsearch使用

  1. 在@Field注解中指定分词器参数
    @Field(searchAnalyzer = “ik_max_word”,analyzer = “ik_smart”)
    private String fileName;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值