def find_chars(self, query, start=0, stop=None):
stop = sys.maxsize if stop is None else stop
result_sets = []
for word in tokenize(query):
if word in self.index:
result_sets.append(self.index[word])
else: # shorcut: no such word
result_sets = []
break
if result_sets:
result = result_sets[0].intersection(*result_sets[1:])
result = sorted(result) # must sort for consistency
result_iter = itertools.islice(result, start, stop)
return QueryResult(len(result),
(char for char in result_iter))
return QueryResult(0, ())
评论列表
文章目录