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'))
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'))