@Override public Explanation explain(final AtomicReaderContext context, final int doc) throws IOException { final LuceneProxyNodeScorer dScorer = (LuceneProxyNodeScorer) this.scorer(context, true, false, context.reader().getLiveDocs()); if (dScorer != null) { if (dScorer.advance(doc) != DocIdSetIterator.NO_MORE_DOCS && dScorer.docID() == doc) { final Explanation exp = dScorer.getWeight().explain(context, doc); exp.setValue(dScorer.score()); return exp; } } return new ComplexExplanation(false, 0.0f, "no matching term"); }
lastLastScore = scorer.score(); lastScore = scorer.score(); assertTrue("doc=" + scorer.docID() + " lastScore=" + lastLastScore + " score=" + lastScore, lastLastScore > lastScore); lastScore = scorer.score(); assertTrue("lastScore=" + lastLastScore + " score=" + lastScore, lastLastScore > lastScore); lastLastScore = scorer.score(); lastScore = scorer.score();
@Test public void testScore() throws IOException { this.addDocument("\"Renaud renaud\" \"renaud\" . "); final LuceneProxyNodeScorer scorer = new LuceneProxyNodeScorer(this.getScorer(ntq("renaud"))); assertTrue(scorer.nextDoc() != DocsAndNodesIterator.NO_MORE_DOC); assertEquals(0, scorer.docID()); assertEquals(3.0, scorer.freq(), 0.01); final float score = scorer.score(); assertFalse(score + " != " + 0, score == 0); }