Example #1
0
 def terms(self, filter, *readers):
     "Generate field cache terms from docs which match filter from all segments."
     for reader in readers:
         array, docset = self.array(reader), filter.getDocIdSet(reader.context, reader.liveDocs)
         docsetit = docset.iterator() if docset else search.DocIdSetIterator.empty()
         for id in iter(docsetit.nextDoc, search.DocIdSetIterator.NO_MORE_DOCS):
             yield array[id]
Example #2
0
 def apply(self, filter, op, readers):
     for reader in readers:
         with suppress(store.AlreadyClosedException):
             bitset = util.FixedBitSet.cast_(self.getDocIdSet(reader.context, None))
             docset = filter.getDocIdSet(reader.context, None)
             if docset:
                 getattr(bitset, op)(docset.iterator())