当前位置:去回答>生活百科>Elasticsearch十三分词器Tokenizer

Elasticsearch十三分词器Tokenizer

2024-08-08 19:43:27 编辑:join 浏览量:535

Elasticsearch十三分词器Tokenizer

1、标准分词器StandardTokenizer

一个标准的分词器提供基于语法的分词器,那是一个适合大部分欧洲语言文档的很好的分词器。分词器实现Unicode文本分割算法,该分割算法在UnicodeStandardAnnex#29中指定。

2、连词分词器NGramTokenizer

如果词的长度大于最短词长度则分词,则依次分成最小长度递进到最大长度的词。

例如:中华人民共和国min_gram=2,max_gram=3。结果:中华、中华人、华人、华人民、人民、人民共、民共、民共和、共和、共和国、和国。

3、边际连词分词器EdgeNGramTokenizer

该分词器和nGram分词器很类似,但是分的词仅仅包含该词的开始部分。

分词属性和NGramTokenizer的一样。

例如:中华人民共和国全国人大min_gram=2,max_gram=5,"token_chars":["letter","git"]

结果:中华、中华人、中华人民、中华人民共、全国、全国人、全国人大

注意:单个词"中华人民共和国"的长度大于5,"和国"不会出现在分词结果中。

4、关键字分词器KeywordTokenizer

keyword分词器输出和它接收到的相同的字符串。即不分词,可以设置关键字的长度buffer_size默认256。

5、字符分词器LetterTokenizer

字符(letter)类型分词器将文本按非字符(non-lentter)进行分词。这就是说,它定义临近的最大长度的字符为一个词。注意,这个适合大部分欧洲的语言,但是对一些亚洲的语言来说就很糟糕了,它们的词不是以空格来分割的。

6、小写分词器LowercaseTokenizer

lowercase将词全部转换成小写,其他的同letterTokenizer

7、空格分词器WhitespaceTokenizer

以空格来分词

8、模式分词器/正则分词器PatternTokenizer

根据正则表达式的匹配规则来分词。

groupsetto-1(thedefault)isequivalentto"split".Usinggroup>=0selectsthematchinggroupasthetoken.Forexample,ifyouhave:

pattern="([^"]+)"group=0input=aaa"bbb""ccc"

theoutputwillbetwotokens:"bbb"and"ccc"(inclungthe"marks).Withthesameinputbutusinggroup=1,theoutputwouldbe:bbbandccc(no"marks).

9、标准EmailURL分词器UAXEmailURLTokenizer

和标准分词器一样,但是把email和url当作一个词。

UAXEmailURLTokenizer有人翻译为"不拆分email、url的分词器",觉得不太恰当,UAX个人认为是UnicodeStandardAnnex,见标准分词器中。

10、路径层次分词器PathHierarchyTokenizer

例如:/something/something/else

结果:/something、/something/something、/something/something/else

默认定界符:/

111、典型的编译器ClassicTokenizer

classic分词器提供基于语法的分词器,这对英语文档是一个很好的分词器。

112、泰语分词器ThaiTokenizer

对泰文进行分词,如果用在其他语言上同标准分词器。

标签:Elasticsearch,分词器,Tokenizer

版权声明:文章由 去回答 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.quhuida.com/life/205009.html
热门文章