package com.browseengine.bobo.query.scoring; import java.util.Arrays; import org.apache.lucene.search.Explanation; public class DefaultFacetTermScoringFunction implements FacetTermScoringFunction { private float _sum = 0.0f; public final void clearScores() { _sum = 0.0f; } public final float score(int df, float boost) { return boost; } public final void scoreAndCollect(int df, float boost) { _sum += boost; } public final float getCurrentScore() { return _sum; } public Explanation explain(int df, float boost) { Explanation expl = new Explanation(); expl.setValue(score(df, boost)); expl.setDescription("facet boost value of: " + boost); return expl; } public Explanation explain(float... scores) { Explanation expl = new Explanation(); float sum = 0.0f; for (float score : scores) { sum += score; } expl.setValue(sum); expl.setDescription("sum of: " + Arrays.toString(scores)); return expl; } }