Lucene可以用于每个要排名的实体是一组文件吗?

时间:2012-08-21 08:10:31

标签: java search solr lucene search-engine

我正在开展一个项目,其中每个要排名的实体不是单个文档,而是一组文档

因此,排名不仅涉及标准搜索引擎评分参数,还涉及实体/组内文档的关联。为了使其更精确,组内文档的关联也有助于排名得分

关联的计算是一个特定于问题的安静的东西,我已经有了一个工作代码。

我刚刚开始使用 Lucene ,因此我不知道Lucene是否可以实现此功能。

可以使用Lucene完成吗?

Solr的吗

如果没有,请建议我找到出路。

4 个答案:

答案 0 :(得分:0)

您可能需要深入了解Lucene评分代码。也许你可以计算你的关联分数并将其与常规的lucene得分结合起来。

http://lucene.apache.org/core/3_6_0/api/core/org/apache/lucene/search/package-summary.html#scoring

答案 1 :(得分:0)

你可以分组是solr。 组= ON&安培; group.field =字段

默认情况下,它将返回单独的组列表。而不是将组作为主要结果返回。

您可以使用自己的系统进行评分和推广某些字段等。我不确定如何获得该组内文档的总分。或者如果需要,但solr 4有group.func

http://wiki.apache.org/solr/FieldCollapsing

希望有帮助,如果不是抱歉:)

答案 2 :(得分:0)

是的,你可以在Lucene做到这一点。有关更多信息,请查看函数查询。您可以在Lucene in Action Book(首页185)中找到大量信息。

答案 3 :(得分:0)

在solr中,如果使用dismax或edismax查询解析器,则可以使用有效负载。我们在solr 3.6中做到了这个非常好的结果。作为一个起点我重新命令: solr payload和:solr paylaod 2 希望这会有所帮助。