result.setDescription("weight("+this.getQuery()+" in "+doc+") [" + similarity.getClass().getSimpleName() + "], result of:");
while (scorer.nextNode()) {
final ComplexExplanation nodeMatch = new ComplexExplanation();
nodeMatch.setDescription("in "+scorer.node()+"), result of:");
final float freq = scorer.freqInNode();
final Explanation scoreExplanation = docScorer.explain(doc, new Explanation(freq, "termFreq=" + freq));
nodeMatch.setValue(scoreExplanation.getValue());
nodeMatch.setMatch(true);
nodeMatch.addDetail(scoreExplanation);
result.addDetail(nodeMatch);
}