[
https://issues.apache.org/jira/browse/LUCENE-1293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12600737#action_12600737
]
Itamar Syn-Hershko commented on LUCENE-1293:
--------------------------------------------
The specific change above prevents explain() from performing unnecessary
actions and return earlier when Value == 1.0f. It could be done better, but
will require one to dive really deep into it.
However, this report is of PhraseQuery.explain() being very clumzy - the above
is just a small example of that. It really should be redesigned - unless,
again, it is only intended for use in debug environments, so the Lucene dev
team prefer easier to write code than smarter and robuster code...
> Tweaks to PhraseQuery.explain()
> -------------------------------
>
> Key: LUCENE-1293
> URL: https://issues.apache.org/jira/browse/LUCENE-1293
> Project: Lucene - Java
> Issue Type: Improvement
> Components: Search
> Affects Versions: 1.9, 2.0.0, 2.1, 2.2, 2.3, 2.3.1, 2.3.2, 2.4
> Reporter: Itamar Syn-Hershko
> Priority: Minor
> Fix For: 2.4
>
>
> The explain() function in PhraseQuery.java is very clumzy and could use many
> optimizations. Perhaps it is only because it is intended to use while
> debugging?
> Here's an example:
> {noformat}
> result.addDetail(fieldExpl);
> // combine them
> result.setValue(queryExpl.getValue() * fieldExpl.getValue());
> if (queryExpl.getValue() == 1.0f)
> return fieldExpl;
> return result;
> }
> {noformat}
> Can easily be tweaked and become:
> {noformat}
> if (queryExpl.getValue() == 1.0f) {
> return fieldExpl;
> }
> result.addDetail(fieldExpl);
> // combine them
> result.setValue(queryExpl.getValue() * fieldExpl.getValue());
> return result;
> }
> {noformat}
> And thats really just for a start...
> Itamar.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]