def search(self, query, fields=FEED_ENTRY_FIELDS, analyzer=None, store=None): if not query or len(query.strip()) == 0 or len(fields) == 0: return None analyzer = analyzer or self.analyzer if store is None: store = self.entry_modifier.store if len(fields) > 1: qp = lucene.MultiFieldQueryParser(fields, analyzer) else: qp = lucene.QueryParser(fields[0], analyzer) q = qp.parse(query) searcher = lucene.IndexSearcher(store) hits = searcher.search(q, lucene.Sort.RELEVANCE) return HitHolder(hits, searcher)