Lucene:检索某个元组的得分?

时间:2012-03-27 12:06:59

标签: lucene

通常在使用Lucene时设置搜索查询,Lucene会为您提供一些结果,您可以在其中获得每个文档的分数。

在我的情况下,我想更改此过程: 我有一个我的数据库的元组,并希望将它传递给Lucene以获得Lucene索引中某个元组的分数。这可能吗?有谁知道怎么样? ;)

编辑:当然,我希望我的元组得分与某个搜索查询相关...

1 个答案:

答案 0 :(得分:2)

我想你的元组映射到Lucene索引中的文档。文件本身没有与之相关的分数;它只会相对于特定查询得分。你想如何编码你的元组得分?作为文档提升,或者可能是字段提升的叠加(我假设您将元组成员映射到文档字段)+文档提升?

所以,你有一个元组和一个查询Q(可能是复杂的),你需要从与该元组对应的索引中获得文档的分数。首先使用简单查询(BooleanQuery of TermQueries)获取该文档的doc id;然后调用IndexSearcher.explain(Query,int) - 这将为您提供其得分而不实际执行Q.