我使用开源hunspell dic / aff设置作为起点创建自定义拼写检查引擎实现。经过大量的黑客攻击,谷歌搜索等,我复制了一个出现的标志集,导致不区分大小写的搜索(例如,拼写检查通过" Word"以及as" word",当只有" word"出现在dic文件中时)。问题是,我不知道为什么会这样,我无法在线或在文件中找到任何表明如何处理案件的内容。我的dic中的语法有效:
word/1 1
没有这些标志,案件处理是严格的。
我无法实施"解决方案"我无法解释。任何人都知道如何在一个dic / aff集中指定案件处理,以便我可以弄清楚实际发生了什么?
答案 0 :(得分:3)
默认情况下,.dic
个文件中的条目被假定为不区分大小写,因此给定条目word
,所有以下内容都应按正确拼写的方式返回: word,Word ,WORD 。
如果要将单词限制为单个大小写,则需要在.aff
文件中定义区分大小写的标记:
KEEPCASE X
X
是一个或两个字母的标记或数字(基于您的FLAG设置)
所以,如果我只想允许 John (但不是 john 或 JOHN ),那么我可以放入{{1提交以下条目:
.dic
我不知道为什么John/X
允许不区分大小写的结果,特别是因为该行是一种错误的格式(在space之后应该遵循的唯一事情是字段id及其信息,例如, /1
)
您说您正在创建自定义引擎,因此问题将出现在您的引擎中,而不是po:noun
文件中。