2.es分词器
分词器
定义
-
文本分析就是将全文本转换一系列单词(term/token)的过程,也叫分词。Analysis是通过Analyzer来实现的。
-
分词器的作用就是把整篇文档,按一定的语义切分成一个一个的词条,目标是提升文档的召回率,并降低无效数据的噪音
-
recall召回率,也叫可搜索行,指搜索的时候,增加能够搜索到的结果的数量
-
降噪:只降低文档中一些低相关性词条对整体搜索排序结果的干扰
-
组成
-
分词器(analyzer)都由三块构件块组成的:character filters,tokenizers,token filters
-
Character filters字符过滤器
- 在一段文本进行分词之前,先进行预处理
- 比如说过滤html标签(hello</ span> -----> hello), & ------> and
-
tokenizers分词器
- 英文分词可以根据空格将单词分开,中文分词比较复杂,可以根据机器学习算法来分词
-
Token filters Token过滤器
- 将划分的单词进行加工
- 大小写转换,去掉词(如停用词像"a","and","the"等),或者增加词(如同义词像"jump"和"leap")
-
-
Analyzer = Character filters(0+个)+tokenizers(1个)+Token filters(0+个)
内置分词器
- Standard Analyzer:标准分词器,按词切分,小写处理。提供了基于语法的标记化(基于Unicode文本分割算法)
- Simple Analyzer:按照非字母切分(符号被过滤),小写处理。只要不是字母的字符,就将文本解析成term,所有的term都是小写的
- Whitespace Analyzer:按照空格切分,不转大小写
- Stop Analyzer:小写过滤器,停用词过滤(the,a,is)
- Keyword Analyzer:不分词,直接将输入当作输出
- Patter Analyzer:正则表达式,默认\W+
- Language :提供30多种语言的分词器
- Customer Analyzer:自定义分词器
中文分词器
- IK分词器