如何为复合词实现Solr Spell Checker?

时间:2013-10-03 05:28:57

标签: solr spell-checking

我想为复合词实现solr拼写检查。 e.g。

考虑“苹果香蕉芒果”,“苹果芒果香蕉”,“芒果苹果香蕉”,“芒果香蕉苹果”,“香蕉苹果芒果”,“香蕉芒果苹果”

都是有效的复合词。 现在我希望当有人误解“appule mungo banana”时,solr拼写检查器应能将拼写建议为“苹果芒果香蕉”。

我已经实现了(功能正确)这个东西,但我所做的是为每个这样的组合创建了一个拼写检查索引。 因此拼写检查索引变得非常庞大。如果我制作这样的索引,我估计拼写检查索引的大小将会达到1GB左右。

现在我只想索引复合词“apple mango banana”的一个组合

并期望solr为所有组合返回正确的拼写。

是否可以在不对每种可能的组合进行索引的情况下进行?

1 个答案:

答案 0 :(得分:2)

可以使用spellcheck.collate完成此操作。如果您使用Dismax,您可能需要将mm设置为100%,这样您才能获得文档中实际存在的建议组合。