Elasticsearch中的切词怎么实现的
在搜索引擎这篇文章中写道,搜索引擎中有一个分词,切词的步骤,就是使用Analyzer来实现的。这篇文章将对Analyzer分词器进行铺开讲解。
Analysis与Analyzer分词器
-
Analysis - 文本分析是把全文本转换一系列单词 (term/token)的过程,也叫分词
-
Analysis 是 通过 Analyzer来实现的
- 可使用 Elasticsearch 内置的分析器/或者按需定制化分析器
-
除了在数据写入时转换词条,匹配 Query 语句时候也需要用相同的分析器对查询语句进行分析
Analyzer的组成
- 分词器是专门处理分词的组件,Analyzer 由三部分组成,分别入下:
-
Character Filters
:针对原始文本处理,例如去除html -
Tokenizer
:按照原则切分为单词 -
Token Filter
:将切分的单词进行加工,将单词从大写转换为小写,删除 stopwords,增加同义词