Analysis 和Analyzeranalysis:1,对文本分词,分成适合做倒排索引的词语。 2,对词语做标准化(normalizing),比如统一大小写、缩写转换等。这样做的目的是为了提升可搜索的能力。 Analyzer:Analyzer对document做分析(analysis)。一个Analyzer包含三部分:
Build-in Analyzer:Standard Analyzer:标准分词,它根据字(word)边界分词,并且会滤除大部分标点符号。最后它会把分好的词转成小写。 Simple Analyzer:只要遇到不是字母的字符时就分词,并且把词语小写化。 Whitespace Analyzer:根据空白来分词,它不会小写化词语。
n-gram Analyzer:n-gram分词可以用于前后模糊的查询方式,既可以用于查找也可以用于实现搜索引擎的自动补全功能。这是因为n-gram会把类似“ABCD”的词分成:AB、ABC、ABCD、BC、BCD、CD。 如果采用n-gram分词来建立倒排索引会很大程度上碰着索引大小,如果只是用在前缀补全上可以选择edge n-gram。 ES内置了n-gram的tokenizer,可以如下配置实现n-gram Analyzer:
|
|
来自: 株野 > 《ElasticSearch》