public FacetBasedBoostingScorer(FacetBasedBoostScorerBuilder parent, BoboSegmentReader reader, Scorer innerScorer) : base(innerScorer.Weight) { m_innerScorer = innerScorer; List <BoboDocScorer> list = new List <BoboDocScorer>(); foreach (var boostEntry in parent.m_boostMaps) { string facetName = boostEntry.Key; IFacetHandler handler = reader.GetFacetHandler(facetName); if (!(handler is IFacetScoreable)) { throw new ArgumentException(facetName + " does not implement IFacetScoreable"); } IFacetScoreable facetScoreable = (IFacetScoreable)handler; BoboDocScorer scorer = facetScoreable.GetDocScorer(reader, parent.m_scoringFunctionFactory, boostEntry.Value); if (scorer != null) { list.Add(scorer); } } m_facetScorers = list.ToArray(); m_docid = -1; }
public FacetBasedBoostingScorer(FacetBasedBoostScorerBuilder parent, BoboIndexReader reader, Similarity similarity, Scorer innerScorer) : base(similarity) { _innerScorer = innerScorer; List<BoboDocScorer> list = new List<BoboDocScorer>(); foreach (var boostEntry in parent._boostMaps) { string facetName = boostEntry.Key; IFacetHandler handler = reader.GetFacetHandler(facetName); if (!(handler is IFacetScoreable)) throw new ArgumentException(facetName + " does not implement FacetScoreable"); IFacetScoreable facetScoreable = (IFacetScoreable)handler; BoboDocScorer scorer = facetScoreable.GetDocScorer(reader, parent._scoringFunctionFactory, boostEntry.Value); if (scorer != null) list.Add(scorer); } _facetScorers = list.ToArray(); _docid = -1; }