def doQuery(query, start, nb_results): parser = QueryParser("text", StandardAnalyzer()) parser.setDefaultOperator(QueryParser.Operator.AND) query = parser.parse(query) hits = searcher.search(query) return formatResultsPlain(query, hits, nb_results, start)
def searchDocuments(self, version, query, attribute=None): directory = DbDirectory(self.store.txn, self._db, self.store._blocks._db, self._flags) searcher = IndexSearcher(directory) query = QueryParser.parse(query, "contents", StandardAnalyzer()) docs = {} for i, doc in searcher.search(query): ver = long(doc['version']) if ver <= version: uuid = UUID(doc['owner']) dv = docs.get(uuid, None) if dv is None or dv[0] < ver: docAttr = doc['attribute'] if attribute is None or attribute == docAttr: docs[uuid] = (ver, docAttr) searcher.close() return docs
def doQuery(searcher, flds, query, start, nb_results): parser = QueryParser("text", StandardAnalyzer()) parser.setDefaultOperator(QueryParser.Operator.AND) query = parser.parse(query) hits = searcher.search(query) formatResultsTable(query, flds, hits, start, nb_results)
def parseQuery(phrase): query = QueryParser.parse(phrase, "content", StandardAnalyzer()) return query
#!/usr/bin/env python2.4 from sys import argv from PyLucene import FSDirectory, IndexSearcher, QueryParser, StandardAnalyzer string = argv[1].strip() directory = FSDirectory.getDirectory( 'chipy-index', False ) searcher = IndexSearcher( directory ) query = QueryParser.parse( string, 'all', StandardAnalyzer() ) hits = searcher.search( query ) for i in range(0,hits.length()): doc = hits.doc(i) print "ID: %s" % doc.getField('id').stringValue() print "From: %s" % doc.getField('from').stringValue() print "Subject: %s" % doc.getField('subject').stringValue() print "Date: %s" % doc.getField('date').stringValue() print