【问题标题】:How to see Solr explain for a document not returned by Solr query如何查看 Solr 对 Solr 查询未返回的文档的解释
【发布时间】:2020-09-26 14:37:11
【问题描述】:

我正在使用 Solr 的解释来调试我的 Solr 查询。我可以看到 Solr 查询返回的所有内容的解释结果,但不能看到查询未返回的文档。

有些文档我认为应该由查询返回,但不是。 我想看看如何计算这些文档的 Solr 分数,以便能够与其他文档进行比较。

【问题讨论】:

  • 您可以在分析页面上检查与这些字段匹配的术语...转到 solr 管理页面 ...选择核心/集合并单击分析页面...选择字段并检查索引和查询
  • 分析页面显示的是字段在索引和查询过程中是如何处理的,而不是解释的结果和最终分数是如何计算的。
  • 只需将“debug=true”参数添加到您的查询中,您就可以看到整个解释
  • @AbhijitBashetti 看来你没有仔细阅读这个问题。我已经在使用解释了。
  • score 不决定是否返回文档。唯一影响文档是否被返回的是正在应用的过滤器,通过查询q 或通过过滤器查询fq。您可以通过上述分析页面进行调试。

标签: solr lucene explain


【解决方案1】:

我能够找到这个问题的答案。 有一个名为explainOther 的查询参数。您可以在此参数中指定一个查询,并在您将获得的匹配查询的解释之上,现在 Solr 将向您显示与此新的 explainOther 查询匹配的任何记录的解释。

这是 Solr 参考指南中对该参数的解释:

解释其他参数

(来自:https://lucene.apache.org/solr/guide/6_6/common-query-parameters.html#CommonQueryParameters-TheexplainOtherParameter

explainOther 参数指定 Lucene 查询以识别一组文档。如果包含此参数并设置为非空值,则查询将返回调试信息,以及与 Lucene 查询匹配的每个文档的“解释信息”,相对于主查询(由 q范围)。例如:

q=supervillians&debugQuery=on&explainOther=id:juggernaut 上面的查询允许您检查最匹配文档的评分说明信息,将其与匹配 id:juggernaut 的文档的说明信息进行比较,并确定为什么排名不符合您的预期。

该参数默认为空,不会返回额外的“解释信息”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-04
    • 2016-08-10
    • 2017-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多