假设我搜索“ABLS”并且SOLR返回的结果对我来说没有任何意义。
如何调试为什么SOLR选择要返回此记录?
答案 0 :(得分:16)
答案 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