加载中

分析器剖析

分析器(无论是内置的还是自定义的)是一个包,其中包含三个更底层的构建块:字符过滤器分词器词元过滤器

内置的 分析器 将这些构建块预先打包成适合不同语言和文本类型的分析器。Elasticsearch 还公开了各个独立的构建块,以便可以将它们组合起来以定义新的 custom(自定义) 分析器。

字符过滤器接收原始文本作为字符流,并通过添加、删除或更改字符来转换该流。例如,字符过滤器可用于将印度-阿拉伯数字 (٠‎١٢٣٤٥٦٧٨‎٩‎) 转换为其阿拉伯-拉丁等效数字 (0123456789),或者从流中去除 HTML 元素(如 <b>)。

分析器可以包含零个或多个 字符过滤器,它们按顺序应用。

分词器接收字符流,将其分解为单独的词元(通常是单个单词),并输出词元流。例如,whitespace 分词器在看到任何空白字符时都会将文本分解为词元。它会将文本 "Quick brown fox!" 转换为词项 [Quick, brown, fox!]

分词器还负责记录每个词项的顺序或位置,以及该词项所代表的原始单词的起始和结束字符偏移量

分析器必须有且仅有一个 分词器

词元过滤器接收词元流,并可以添加、删除或更改词元。例如,lowercase 词元过滤器将所有词元转换为小写,stop 词元过滤器从词元流中删除常见单词(停用词,如 the),而 synonym 词元过滤器则将同义词引入词元流中。

词元过滤器不允许更改每个词元的位置或字符偏移量。

分析器可以包含零个或多个 词元过滤器,它们按顺序应用。

© . This website operates independently and is not affiliated with or endorsed by Elasticsearch B.V. All brand names, logos, and trademarks are the property of their respective owners.