Elasticsearch分词器
什么是分词器?
分词器:elasticsearch执行分词的主体,分为三大部分:Character Filters,Tokenizers,Token Filters
Character Filter(字符过滤器)
注意:Character Filter可以有n个(n=0)
字符过滤器通过字符流(以最小单位读取)的形式接收文本,通过新增,删除,修改字符来转换该流
比如:去掉文本中的html标签,
Tokenizers(分词器)
注意:Tokenizers只能有1个
按照规则去切分单词
比如:I am charger ---->I,am,charger
Token filters (token过滤器)
注意:Token filters可以有n个(n=0)
将切分的单词进行处理,比如删除,大小写转换
elasticsearch中的分词器有哪些?
- Standard Analyer ---->默认分词器,按词切分,小写处理
- Simple Analyer ---->按照非字母切分(符号会被过滤),小写处理
- Stop Analyer ----->小写处理,停用词过滤
- Whitespace Analyer ---->按照空格切分,不转小写
- Keword Analyer ---->不分词,直接把输入当作输出
- Pattern Analyer ----->正则表达式,默认\W+(非字母进行分隔)
- Language ----->支持三十多种语言
- Customer Analyer -------->自定义分词器
采用postman演示各个分词器效果:
1.Standard Analyer(默认分词器,按词切分,小写处理)
2.Simple Analyer(按照非字母切分(符号会被过滤),小写处理)
3.Stop Analyer(小写处理,停用词过滤)
- 英文:a、an、the、of
- 中文:的、了、着、是 、标点符号等
点击查看英文停用词
点击查看中文停用词
4.Whitespace Analyer(按照空格切分,不转小写)
5.Keword Analyer(不分词,直接把输入当作输出)
6.Pattern Analyer(正则表达式,默认\W+(非字母进行分隔))
推荐两种中文分词器:
icu
ik
自行到es安装根目录输入命令:./bin/elasticsearch-plugin install analysis-icu