我正在开发一个系统,它将使用apache lucene来分析和排列来自不同来源的一组网页内容,
现在我面临的问题是,结果总是显示一组页面来自同一个来源,当来源有超过1页具有更好的权重时。
是可以让我使用lucene选项进一步细化结果,所以只列出第一次出现的源,而剩下的将被拖到结果列表的末尾,所以至少用户可以首先看到来自不同来源的不同结果,而不是在前几页看到来自同一来源的完整内容列表....
答案 0 :(得分:2)
Solr的最新(未发布)版本(建立在Lucene之上)具有一个名为field / result collapsing的功能,它将根据字段值将结果组合在一起。看起来这就是你要找的东西:
http://wiki.apache.org/solr/FieldCollapsing
如果您不想使用Solr,那么您必须通过迭代结果集并根据您的标准对其进行重新排序来自行实现。您可能需要将FieldCache用于“源”字段,以使其表现良好。