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