在我从事的应用程序中,我们使用Lucene Analyzer,尤其是Hunspell部件。我面临的问题是:我需要使用一组词缀规则来生成单词的所有单词形式。
例如。拥有“教育”一词并在规则上加上ABC规则,则生成所有形式的“教育”一词。 -受教育的,受过教育的,受教育的等
我想知道的是:是否可以使用Lucene的Hunspell实现(我们使用Hunspell词典(.dic)和词缀文件(.aff),因此它必须是Hunspell API)来做到这一点? Lucene的Hunspell API没那么大,我经历了它,但是没有找到合适的东西。
在SO上我能找到的最接近的是this,但是没有关于hunspell的答案。
更新1 我不再在上面遇到的项目上工作,但是如果仍然有使用Lucene的分析器执行此操作的解决方案,我很高兴社区会看到答案。
最佳答案
Hunspell带有unmunch命令,该命令将创建所有单词形式。您可以这样称呼它:
unmunch en_GB.dic en_GB.aff
因此,您可能会在hunspell源中查看如何实现此功能以及是否可以从外部调用它。上次我检查在带化合物的词典上使用该命令时,该命令有点错误–在那种情况下,您将无法创建所有字形,因为它们的数量是无限的。
关于lucene - 使用Lucene和Hunspell生成所有单词形式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13725861/