Subversion Repositories SmartDukaan

Rev

Rev 289 | Blame | Compare with Previous | Last modification | View Log | RSS feed

'''
Created on 17-Jun-2010

@author: gaurav
'''

import lucene
import sys
import os

ds = os.sep

lucene.initVM(classpath=lucene.CLASSPATH)

querystr = ""
#analyzer = lucene.SnowballAnalyzer()
analyzer = lucene.StandardAnalyzer()
#analyzer = lucene.SimpleAnalyzer()


i=2
j=len(sys.argv)

if j<3:
    print "Wrong Query Format. Proper format is suppliernameindex brand model"
else:    
    cmd = sys.argv[1]
    index = os.getcwd()    
    while i<j:
        querystr = querystr + sys.argv[i]
        querystr = querystr + " "
        i = i+1
        
    #querystr = lucene.PhraseQuery(querystr)
    #print " query: " + str(querystr)     
    
    if cmd == "infibeamindex":
        path_index = index + ds + "infibeamindex"
    elif cmd == "indiaplazaindex":
        path_index = index + ds + "indiaplazaindex"
    elif cmd == "naaptolindex":
        path_index = index + ds + "naaptolindex"
    elif cmd == "babuchakindex":
        path_index = index + ds + "babuchakindex"
    elif cmd == "univercellindex":
        path_index = index + ds + "univercellindex"
    elif cmd == "mobstoreindex":
        path_index = index + ds + "mobstoreindex"
    else:
        print "Wrong Query Format. Proper format is suppliernameindex brand model"
        sys.exit()               
    searcher = lucene.IndexSearcher(path_index)
    q = lucene.QueryParser('name',analyzer).parse(querystr)
    
    scoreDocs = searcher.search(q)
    print len(scoreDocs)
    #print str(scoreDocs)
    
    
    for i in range(0,scoreDocs.length()):
        doc = scoreDocs.doc(i)
        #doc = doc.doc
        id = (doc.getField('ID')).stringValue()
        print id
        #print "ID: %s" % doc.getField('ID')
        name = doc.getField('name').stringValue()
        print name
        #print "name: %s" % doc.getField('name')
        #print "price: %s" % doc.getField('price')
        price = doc.getField('price').stringValue()
        print price
    
    searcher.close()