public FieldCacheDocIdSetAnonymousInnerClassHelper(FieldCacheTermsFilter outerInstance, int maxDoc, IBits acceptDocs, SortedDocValues fcsi, FixedBitSet bits) : base(maxDoc, acceptDocs) { this.outerInstance = outerInstance; this.fcsi = fcsi; this.bits = bits; }
public override DocIdSet GetDocIdSet(AtomicReaderContext context, IBits acceptDocs) { SortedDocValues fcsi = FieldCache.GetTermsIndex((context.AtomicReader), field); FixedBitSet bits = new FixedBitSet(fcsi.ValueCount); for (int i = 0; i < terms.Length; i++) { int ord = fcsi.LookupTerm(terms[i]); if (ord >= 0) { bits.Set(ord); } } return(new FieldCacheDocIdSet(context.Reader.MaxDoc, acceptDocs, (doc) => { int ord = fcsi.GetOrd(doc); if (ord == -1) { // missing return false; } else { return bits.Get(ord); } })); }
public override DocIdSet GetDocIdSet(AtomicReaderContext context, IBits acceptDocs) { SortedDocValues fcsi = FieldCache.GetTermsIndex((context.AtomicReader), field); FixedBitSet bits = new FixedBitSet(fcsi.ValueCount); for (int i = 0; i < terms.Length; i++) { int ord = fcsi.LookupTerm(terms[i]); if (ord >= 0) { bits.Set(ord); } } return(new FieldCacheDocIdSetAnonymousInnerClassHelper(this, context.Reader.MaxDoc, acceptDocs, fcsi, bits)); }