elasticsearch Elasticsearch标准标记器行为和单词边界,elasticsearch,token,tokenize,analyzer,word-boundary,elasticsearch,Token,Tokenize,Analyzer,Word Boundary" /> elasticsearch Elasticsearch标准标记器行为和单词边界,elasticsearch,token,tokenize,analyzer,word-boundary,elasticsearch,Token,Tokenize,Analyzer,Word Boundary" />

elasticsearch Elasticsearch标准标记器行为和单词边界

elasticsearch Elasticsearch标准标记器行为和单词边界,elasticsearch,token,tokenize,analyzer,word-boundary,elasticsearch,Token,Tokenize,Analyzer,Word Boundary,我不知道为什么标准标记器(由默认的标准分析器使用)在这个场景中的行为是这样的: -如果我使用单词system.exe,它将生成令牌system.exe。我知道不是一个断字者。 -如果我使用单词system32.exe,它将生成标记system和exe。我不明白这一点,为什么当它找到一个数字+a? -如果我使用单词system32tm.exe,它将生成令牌system32tm.exe。与第一个示例一样,它按预期工作,不会将单词拆分为不同的标记。 我已经读过,但我仍然不明白为什么数字+点()是单词边

我不知道为什么标准标记器(由默认的标准分析器使用)在这个场景中的行为是这样的:
-如果我使用单词
system.exe
,它将生成令牌
system.exe
。我知道
不是一个断字者。
-如果我使用单词
system32.exe
,它将生成标记
system
exe
。我不明白这一点,为什么当它找到一个
数字
+a

-如果我使用单词
system32tm.exe
,它将生成令牌
system32tm.exe
。与第一个示例一样,它按预期工作,不会将单词拆分为不同的标记。

我已经读过,但我仍然不明白为什么
数字
+点(
)是单词边界如问题中所述,
标准
标记器提供基于Unicode文本分割算法的语法标记化,如
如果您有
字母+点+字母
,则规则是中断,请参见上述规范。因此
tm.exe
将被保留,而
system32.exe
将被拆分。
规范说它总是拆分,除了列出的异常。例外情况和说,它从来没有分裂的字母,然后标点符号,然后字母。规则,并说它从来没有分裂的数字,然后标点符号,然后数字。但是,对于数字、标点符号和字母没有这样的规则,因此默认规则适用,并且
system32.exe
被拆分