public virtual Explanation Explain(int d) { float sc = qWeight * vals.SingleVal(d); Explanation result = new ComplexExplanation(true, sc, "FunctionQuery(" + outerInstance.func + "), product of:"); result.AddDetail(vals.Explain(d)); result.AddDetail(new Explanation(outerInstance.Boost, "boost")); result.AddDetail(new Explanation(weight.m_queryNorm, "queryNorm")); return(result); }
public Explanation Explain(int doc) { var subQueryExpl = weight.qWeight.Explain(readerContext, doc); if (!subQueryExpl.IsMatch) { return(subQueryExpl); } float sc = subQueryExpl.Value * vals.SingleVal(doc); Explanation res = new ComplexExplanation(true, sc, outerInstance.ToString() + ", product of:"); res.AddDetail(subQueryExpl); res.AddDetail(vals.Explain(doc)); return(res); }
public override Explanation Explain(AtomicReaderContext readerContext, int doc) { Explanation subQueryExpl = qWeight.Explain(readerContext, doc); if (!subQueryExpl.IsMatch) { return(subQueryExpl); } FunctionValues vals = outerInstance.boostVal.GetValues(fcontext, readerContext); float sc = subQueryExpl.Value * vals.SingleVal(doc); Explanation res = new ComplexExplanation(true, sc, outerInstance.ToString() + ", product of:"); res.AddDetail(subQueryExpl); res.AddDetail(vals.Explain(doc)); return(res); }