public override float Score() { float score = qWeight * vals.FloatVal(doc); // Current Lucene priority queues can't handle NaN and -Infinity, so // map to -Float.MAX_VALUE. This conditional handles both -infinity // and NaN since comparisons with NaN are always false. return(score > float.NegativeInfinity ? score : -float.MaxValue); }
public override Explanation Explain(AtomicReaderContext readerContext, int doc) { Explanation subQueryExpl = qWeight.Explain(readerContext, doc); if (!subQueryExpl.Match) { return(subQueryExpl); } FunctionValues vals = outerInstance.boostVal.GetValues(fcontext, readerContext); float sc = subQueryExpl.Value * vals.FloatVal(doc); Explanation res = new ComplexExplanation(true, sc, outerInstance.ToString() + ", product of:"); res.AddDetail(subQueryExpl); res.AddDetail(vals.Explain(doc)); return(res); }
public override float Score() { return(values.FloatVal(doc)); }
public override bool MatchesValue(int doc) { float docVal = outerInstance.FloatVal(doc); return(docVal > l && docVal < u); }
public override void FillValue(int doc) { mval.Value = outerInstance.FloatVal(doc); }