Example #1
0
            public override Scorer FilteredScorer(AtomicReaderContext context, Weight weight, DocIdSet docIdSet)
            {
                IBits filterAcceptDocs = docIdSet.Bits;

                if (filterAcceptDocs == null)
                {
                    // Filter does not provide random-access Bits; we
                    // must fallback to leapfrog:
                    return(LEAP_FROG_QUERY_FIRST_STRATEGY.FilteredScorer(context, weight, docIdSet));
                }
                Scorer scorer = weight.GetScorer(context, null);

                return(scorer == null ? null : new QueryFirstScorer(weight, filterAcceptDocs, scorer));
            }