如何查看/调试SOLR找到结果的方式?

时间:2012-02-23 23:26:13

标签: debugging solr lucene

假设我搜索“ABLS”并且SOLR返回的结果对我来说没有任何意义。
如何调试为什么SOLR选择要返回此记录?

6 个答案:

答案 0 :(得分:16)

debugQuery=true可以帮助您获得详细的分数计算和每个分数的解释。

评分的过度视图可在link

获得

有关调试信息的详细说明,请参阅Link

答案 1 :(得分:5)

您可以将debugQuery=true&indent=true添加到网址并检查结果。您也可以在solr中使用分析工具。转到管理员并单击分析。您需要阅读维基以深入了解其中任何一个。

答案 2 :(得分:1)

queryDebug将为您提供有关您的评分为何如此的信息(结束每个字段的相关性)。 我会得到一些您不理解的结果,并使用 Solr的分析与它们一起玩 你应该在:

下找到它
/admin/analysis.jsp?highlight=on

或者打开对结果的突出显示以查看结果中实际匹配的内容

答案 3 :(得分:1)

Solr查询充满了短参数,难以阅读和修改,尤其是当参数太多时。 之后更难调试并理解为什么文档或多或少与另一个文档相关。调试解释输出通常是三个太大而不适合一页。

我发现这个Google Chrome extension很有用,可以清楚地看到Solr Query的解释和调试。

答案 4 :(得分:0)

对于那些仍然使用非常旧版本的solr 3.X," debugQuery = true"不会把调试信息。你应该指定" debugQuery = on"。

答案 5 :(得分:0)

有两种方法可以做到这一点。首先是查询级别,这意味着将ExecuteReader添加到查询中。这将包括几件事:

  • 解析查询
  • 调试时间信息
  • 详细的评分信息,可帮助您分析给定文档为何获得评分的原因。

除此之外,您可以使用debugQuery=on转换器并将其添加到[explain]参数中。例如fl,这将导致您的文档将评分信息作为另一个字段。

评分信息可能会非常广泛,并且将包含由相似性算法完成的计算。如果您想了解有关Solr中相似性和评分算法的更多信息,请看一下我和我的来自Sematext的同事Radu,来自Activate会议:https://www.youtube.com/watch?v=kKocQdYGVJM