我认为文档对此非常清楚:
该标记器与nGram非常相似,但仅保留从标记开头开始的n-gram。
nGram标记器的最佳示例再次来自文档:
curl 'localhost:9200/test/_analyze?pretty=1&analyzer=my_ngram_analyzer' -d 'FC Schalke 04' # FC, Sc, Sch, ch, cha, ha, hal, al, alk, lk, lke, ke, 04
使用此标记生成器定义:
"type" : "nGram", "min_gram" : "2", "max_gram" : "3", "token_chars": [ "letter", "digit" ]
简而言之:
- 令牌生成器将根据令牌的配置来创建令牌。在这个例子中:
FC
,Schalke
,04
。 nGram
从输入文本生成最小min_gram
大小和最大max_gram
大小的字符组。基本上,令牌被分成小块,每个块都锚定在一个字符上(这个字符在哪里都无所谓,所有这些都会创建块)。edgeNGram
所做的相同,但块总是从每个令牌的开头开始。基本上,块固定在令牌的开头。
对于相同的文字的上方,一个
edgeNGram产生这样的:
FC, Sc, Sch, Scha, Schal,04。考虑文本中的每个“单词”,对于每个“单词”,第一个字符都是起点(
Ffrom
FC,
Sfrom
Schalke和
0from
04)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)