Elasticsearch标准令牌生成器的行为和单词边界

问题描述 投票:0回答:1

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

elasticsearch token tokenize analyzer word-boundary
1个回答
0
投票

如问题中所述,standard标记程序提供基于Unicode Standard Annex #29中指定的Unicode文本分段算法的基于语法的标记化。如果您有http://unicode.org/reports/tr29/#Word_Boundaries,则规则letter + dot + letternot中断,请参见以上规格中的WB6。因此tm.exe被保留,system32.exe被分割。规范说,除了列出的例外,它总是分裂。异常WB6WB7表示从不对字母,标点和字母进行分割。规则WB11WB12表示,它永远不会对数字,标点符号和数字进行分割。但是,没有数字,标点和字母的规则,因此默认规则适用,并且system32.exe被拆分。

© www.soinside.com 2019 - 2024. All rights reserved.