Exemplo n.º 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)
Exemplo n.º 2
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 
Exemplo n.º 3
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")
Exemplo n.º 4
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)
Exemplo n.º 5
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)