对于Solr dismax查询,我如何获得每个字段得分?

时间:2013-02-05 04:53:45

标签: solr field dismax

在我的应用程序中,每个文档由四个文本字段组成,即标题,关键字,摘要和文本。我知道我可以使用dismax查询和“fq = title keywords summary text”让Solr在四个字段中进行dismax查询。四个字段中的最大相关性分数将用作最终分数。此外,将分数添加到fl参数中,我可以根据查询获得每个文档的相关性分数。

然而,问题是如何知道四个领域中每个领域的相关性得分?这对我来说非常重要,因为我需要转储这些分数来调整场重。我想的唯一方法是打开debugQuery选项并提取返回的XML来解析分数。但我认为这太复杂了。有没有人能轻松解决我的问题?

1 个答案:

答案 0 :(得分:1)

没有简单的解决方案,您需要在查询中添加& debugQuery = true,然后解析结果中的“explain”部分。 但请注意,它也可以作为数组返回,以便于编程操作。 这是通过& debug.explain.structured = true实现的,这可以极大地缓解你的生活。