BoostingTermQuery.explain() bugs -------------------------------- Key: LUCENE-991 URL: https://issues.apache.org/jira/browse/LUCENE-991 Project: Lucene - Java Issue Type: Bug Components: Search Affects Versions: 2.2 Reporter: Peter Keegan Priority: Minor Attachments: TestBoostingTermQuery.patch
There are a couple of minor bugs in BoostingTermQuery.explain(). 1. The computation of average payload score produces NaN if no payloads were found. It should probably be: float avgPayloadScore = super.score() * (payloadsSeen > 0 ? (payloadScore / payloadsSeen) : 1); 2. If the average payload score is zero, the value of the explanation is 0: result.setValue(nonPayloadExpl.getValue() * avgPayloadScore); If the query is part of a BooleanClause, this results in: "no match on required clause..." "failure to meet condition(s) of required/prohibited clause(s)" The average payload score can be zero if the field boost = 0. I've attached a patch to 'TestBoostingTermQuery.java', however, the test 'testNoPayload' fails in 'SpanScorer.score()' because the doc = -1. It looks like 'setFreqCurrentDoc() should have been called before 'score()'. Maybe someone more knowledgable of spans could investigate this. -- 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]