声明:本博客根据《ES权威指南》内容总结整理而成,转载请注明出处:https://blog.csdn.net/qingmou_csdn
Elasticsearch内置了一系列分析器,但是ES支持自定义分析器。
通过在配置文件中组合字符过滤器,分词器和表征过滤器可以满足特定数据的要求。
分析器是三个顺序执行的组件的结合(字符过滤器、分词器、表征过滤器)
- 字符过滤器(char_filter):
让字符串在被分词前变得更加“整洁”。
如,html_strip 字符过滤器可删除所有的HTML标签诸如<p>或<div>,并可将HTML实体转换成对应的Unicode字符,如将 Á 转成 A 。
- 分词器(filter):
将字符串分割成单独的词(terms)或表征(tokens)。如:
standard分词器将字符串分割成单独的字词,删除大部分标点符号;
keyword分词器输出和它接收到的相同的字符串,不做任何分词处理;
whitespace分词器只通过空格来分割文本;
pattern分词器可通过正则表达式分割文本。
- 表征过滤器(analyzer):
分词结果的表征流根据各自情况传递给特定表征过滤器。
表征过滤器可能修改