FacetHandler<?> handler = reader.getFacetHandler(facetName);
if(!(handler instanceof FacetScoreable))
throw new IllegalArgumentException(facetName + " does not implement FacetScoreable");
FacetScoreable facetScoreable = (FacetScoreable)handler;
BoboDocScorer scorer = facetScoreable.getDocScorer(reader, _scoringFunctionFactory, boostEntry.getValue());
float facetBoost = scorer.score(docid);
Explanation facetExp = new Explanation();
facetExp.setDescription(facetName);
facetExp.setValue(facetBoost);
facetExp.addDetail(scorer.explain(docid));
boost *= facetBoost;
exp.addDetail(facetExp);
}
exp.setValue(boost);
exp.addDetail(innerExplaination);