def __init__(self):
        # initialize ArangoDB driver
        conn = Connection()
        self.db = conn['_system']

        # initialize Redis driver
        self.engine = RedisEngine(prefix='getcontext')
class Autocomplete:
    def __init__(self):
        # initialize ArangoDB driver
        conn = Connection()
        self.db = conn['_system']

        # initialize Redis driver
        self.engine = RedisEngine(prefix='getcontext')

    def loaddata(self):
        print("Loading data from ArangoDB")
        query = 'FOR u IN Organization SORT u.ec DESC RETURN {title: u.name, id: u._key, score: u.ec, slug: u.slug}'
        queryResults = self.db.AQLQuery(
            query, rawResults=True, batchSize=3000000)
        print(len(queryResults), " loaded from ArangoDB")
        return queryResults

    def saveDataToRedis(self):
        companiesIndex = self.loaddata()

        print("Saving data to redis")
        # save data to redis index
        count = 0
        for org in companiesIndex:
            metadata = {
                'id': org['id'],
                'title': org['title'],
                'score': org['score'],
                'slug': org['slug']
            }

            self.engine.store_json(org['id'], org['title'], metadata,
                                   org['score'])
            print(count)
            count = count + 1

            # Set the score seacrh
            # if(org['score'] == 0):
            #ac.boost_object(obj_id=org['id'], multiplier=0.1)
            # else:
            #ac.boost_object(obj_id=org['id'], multiplier=float(org['score']))

        print("Data saved to redis and indexed")

    def search(self):
        #lis = sorted(self.engine.search_json('t', limit=7), key=lambda k: k['score'], reverse=True)
        print(self.engine.search_json('gi'))
Esempio n. 3
0
import urllib2
from redis_completion_2 import RedisEngine

engine = RedisEngine(prefix='stocks')

def load_data():
    url = 'http://media.charlesleifer.com/downloads/misc/NYSE.txt'
    contents = urllib2.urlopen(url).read()
    for row in contents.splitlines()[1:]:
        ticker, company = row.split('\t')
        engine.store_json(ticker, company, {'ticker': ticker, 'company': company}) # id, search phrase, data

def search(p, **kwargs):
    return engine.search_json(p, **kwargs)

if __name__ == '__main__':
    engine.flush()
    print 'Loading data (may take a few seconds...)'
    #load_data()
    engine.store_json(54548, 'test company omar', {'ticker': 54548, 'company': 'test company omar'})
    engine.store_json(54549, 'test company', {'ticker': 54548, 'company': 'test company'})
    engine.store_json(54550, 'test company aaaaa', {'ticker': 54548, 'company': 'test company aaaaa'})
    engine.store_json(54551, 'test company 11a', {'ticker': 54548, 'company': 'test company 11a'})
    print 'Search data by typing a partial phrase, like "uni sta"'
    print 'Type "q" at any time to quit'
    
    print (search('t'))