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

在这种情况下,我不确定标准标记器(由默认标准分析器使用)为什么会表现如下:
 -如果我使用单词system.exe,它将生成令牌system.exe。我了解.不是断词器。
 -如果我使用单词system32.exe,它将生成标记systemexe。我不明白,为什么在找到number + .时会打断单词?
 -如果我使用单词system32tm.exe,它将生成令牌system32tm.exe。与第一个示例一样,它可以按预期工作,不会将单词分解为不同的标记。
我已经读过http://unicode.org/reports/tr29/#Word_Boundaries,但我仍然不明白为什么number +点(.)是字边界

lgq890116 回答:Elasticsearch标准标记器行为和单词边界

如问题中所述,standard令牌生成器根据Unicode Standard Annex #29中的Unicode文本分段算法提供基于语法的令牌生成。
如果您有letter + dot + letter,则规则http://unicode.org/reports/tr29/#Word_Boundaries不要中断,请参见以上规范中的WB6。因此tm.exe被保留,system32.exe被拆分。
规范说,除了列出的例外,它总是分裂。例外WB6WB7表示,它从不按字母,标点和字母分割。规则WB11WB12表示,它永远不会按数字,标点符号和数字分割。但是,对于数字,然后是标点符号,然后是字母,则没有这样的规则,因此默认规则适用,system32.exe被拆分。

本文链接:https://www.f2er.com/3008919.html

大家都在问