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

本文介绍了如何在Elasticsearch中创建自定义分析器,通过配置字符过滤器、分词器和表征过滤器以满足特定数据需求。例如,使用html_strip字符过滤器删除HTML标签,mapping过滤器进行字符替换,standard分词器进行分词,lowercase和stop表征过滤器处理大小写和停用词。通过这种方式,可以定制化的分析和处理文本内容。
最低0.47元/天 解锁文章
299

被折叠的 条评论
为什么被折叠?



