Example #1
0
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)
Example #2
0
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)
Example #3
0
def run(searcher, analyzer, querystr):
  query = QueryParser("contents", analyzer).parse(querystr)
  hits = searcher.search(query)

  results = []

  for i, doc in hits:
    results.append([doc.get("name"), doc.get("owner").encode('gbk'), doc.get("title").encode('gbk')])
  
  # sort result
  results.sort(lambda x,y: cmp(x[0],y[0]))    
  for name,owner,title in results:
    print name, owner, title 
Example #4
0
def run(searcher, analyzer):
    while True:
        print
        print "Hit enter with no input to quit."
        command = raw_input("Query:")
        if command == '':
            return

        print
        print "Searching for:", command
        query = QueryParser("contents", analyzer).parse(command)
        hits = searcher.search(query)
        print "%s total matching documents." % hits.length()

        for i, doc in hits:
            print 'path:', doc.get("path"), 'name:', doc.get("name")
Example #5
0
    def search(self,
               query,
               fields=FEED_ENTRY_FIELDS,
               analyzer=None,
               support=None):
        if not query or len(query.strip()) == 0 or len(fields) == 0:
            return None
        if not support:
            support = self.entrySupport
        analyzer = analyzer or support.analyzer

        if len(fields) > 1:
            qp = MultiFieldQueryParser(fields, analyzer)
        else:
            qp = QueryParser(fields[0], analyzer)
        q = qp.parse(query)

        searcher = support.getIndexSearcher()
        hits = searcher.search(q, Sort.RELEVANCE)
        return HitHolder(hits, searcher)
Example #6
0
    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
Example #7
0
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
Example #9
0
#!/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

Example #10
0
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)