2013-10-03 56 views
1

我想为复合词实现solr拼写检查器。 例如如何为复合词实现Solr拼写检查器?

认为“苹果香蕉芒果”,“苹果芒果香蕉”,“芒果苹果香蕉”,“芒果香蕉苹果”,“香蕉苹果芒果”,“香蕉芒果苹果”

都是有效的合成词。 现在我想,当有人拼错“appule mungo香蕉”solr拼写检查器应该能够建议拼写为“苹果芒果香蕉”。

我已经实现(功能上正确)这件事,但我所做的是为每个这样的组合创建了一个拼写检查索引。 所以拼写检查指数已经变得巨大。如果我做出这样的索引,我估计拼写检查索引将变得大约1GB。

现在我想指标只是一个复合词“苹果芒果香蕉”

的组合,并期望Solr的返回正确拼写的全部组合中。

是否有可能没有索引每个可能的组合?

回答

2

这可以用spellcheck.collate完成。如果您使用Dismax,则可能需要将mm设置为100%,这样您只能得到文档中实际存在的提示组合。