[
https://issues.apache.org/jira/browse/LUCENE-8019?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16227377#comment-16227377
]
Mike Sokolov edited comment on LUCENE-8019 at 10/31/17 7:40 PM:
----------------------------------------------------------------
I posted a patch file that has two failed attempts: one that walks over the
Scorer tree, and the other that walks over the Weight tree. Beyond the problem
I mentioned before, I wonder if I'm missing something about how to use
Scorer.advance() (this is somewhat new to me), since it seems that when I call
advance() on the BooleanWeight's scorer, say for a conjunction, it advances all
the child scorers *beyond* the doc of interest, so it's impossible to tell if
any of them matched.
was (Author: sokolov):
has two failed attempts: one that walks over the Scorer tree, and the other
that walks over the Weight tree
> Add a root failure cause to Explanation
> ----------------------------------------
>
> Key: LUCENE-8019
> URL: https://issues.apache.org/jira/browse/LUCENE-8019
> Project: Lucene - Core
> Issue Type: New Feature
> Reporter: Mike Sokolov
> Attachments: LUCENE-8019.patch, LUCENE_8019.patch
>
>
> If you need to analyze the root cause of a query's failure to match some
> document, you can use the Weight.explain() API. If you want to do some gross
> analysis of a whole batch of queries, say scraped from a log, that once
> matched, but no longer do, perhaps after some refactoring or other
> large-scale change, the Explanation isn't very good for that. You can try
> parsing its textual output, which is pretty regular, but instead I found it
> convenient to add some boolean structure to Explanation, and use that to find
> failing leaves on the Explanation tree, and report only those.
> This patch adds a "condition" to each Explanation, which can be REQUIRED,
> OPTIONAL, PROHIBITED, or NONE. The conditions correspond in obvious ways to
> the Boolean Occur, except for NONE, which is used to indicate a node which
> can't be further decomposed. It adds new Explanation construction methods for
> creating Explanations with conditions (defaulting to NONE with the existing
> methods).
> Finally Explanation.getFailureCauses() returns a list of Strings that are the
> one-line explanations of the failing queries that, if some of them had
> succeeded, would have made the original overall query match.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]