def postings(self, fieldname, text, scorer=None, exclude_docs=None): postreaders = [] docoffsets = [] for i, r in enumerate(self.readers): format = r.field(fieldname).format if (fieldname, text) in r: pr = r.postings(fieldname, text, scorer=scorer, exclude_docs=exclude_docs) postreaders.append(pr) docoffsets.append(self.doc_offsets[i]) if not postreaders: raise TermNotFound(fieldname, text) else: return MultiMatcher(postreaders, docoffsets)
def postings(self, fieldname, text): # This method does not add a scorer; for that, use Searcher.postings() postreaders = [] docoffsets = [] term = (fieldname, text) for i, r in enumerate(self.readers): if term in r: offset = self.doc_offsets[i] pr = r.postings(fieldname, text) postreaders.append(pr) docoffsets.append(offset) if not postreaders: raise TermNotFound(fieldname, text) return MultiMatcher(postreaders, docoffsets)
def postings(self, fieldname, text, scorer=None): postreaders = [] docoffsets = [] term = (fieldname, text) for i, r in enumerate(self.readers): if term in r: offset = self.doc_offsets[i] # Get a posting reader for the term and add it to the list pr = r.postings(fieldname, text, scorer=scorer) postreaders.append(pr) docoffsets.append(offset) if not postreaders: raise TermNotFound(fieldname, text) else: return MultiMatcher(postreaders, docoffsets)