初学Elasticsearch,Analyzer分词器使用

作为一个初学者,对于es的analyzer的使用,做一个简单的记录笔记,有大神看到可以留言给予更好的学习方向

standard:根据词切分,将大写字母转成小写字母,in不过滤

GET /_analyze
{
  "analyzer":"standard",
  "text":"Mastering Elasticsearch, elasticsearch in Action"
}

simple:按照非字母切分,非字母的都被去除,将大写字母转成小写字母

GET /_analyze
{
  "analyzer":"simple",
  "text":"2 running Quick brown-foxes leap over lazy dogs in the summer evening."
}

whitespace:按照空格切分

GET /_analyze
{
  "analyzer":"whitespace",
  "text":"Mastering Elasticsearch, elasticsearch in Action"
}

stop:相比Simple Analyzer,多了stop filter,会把the,a,is等修饰性词语去除

GET /_analyze
{
  "analyzer":"stop",
  "text":"2 running Quick brown-foxes leap over lazy dogs in the summer evening."
}

keyword:不分词,直接将输入当一个term输出

GET /_analyze
{
  "analyzer":"keyword",
  "text":"2 running Quick brown-foxes leap over lazy dogs in the summer evening."
}

pattern: 通过正则表达式进行分词,默认是\W+,非字符的符号进行分隔

{
  "analyzer":"pattern",
  "text":"2 running Quick brown-foxes leap over lazy dogs in the summer evening."
}

Elasticsearch还提供了不同国家语言的分词:Language Analyzer

 

中文分词的难点

  • 中文句子,切分成一个一个词(不是一个个字)
  • 英文中,单词有自然的空格作为分隔
  • 一句中文,在不同的上下文,有不同的解释

一些例子:

  • 这个苹果,不大好吃/这个苹果,不大,好吃!
  • 他说的确实在理/这事的确定不下来

ICU Analyzer 

  • 需要安装plugin                Elasticsearch-plugin install analysis-icu
  • 提供了Unicode的支持,更好的支持亚洲语言

{
  "analyzer":"icu_analyzer",
  "text":"他说的确实在理"
}

IK Analyzer

  • 支持自定义词库,支持热更新分词字典
  • https://github.com/medcl/elasticsearch-analysis-ik

THULAC Analyzer

  • THU Lexucal Analyzer for Chinese,清华大学自然语言处理和社会人文计算实验室的一套中文分词器
  • https://github.com/microbun/elasticsearch-thulac-plugin

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值