from __future__ import division import os import time from sunburnt import SolrInterface si = SolrInterface("http://localhost:9983/solr/tweets_shard1_replica1") def runTest(): for q in [ ('election', 'election'), ('elect', 'election'), ('revolution', 'Jan.25'), ('uprising', 'Jan.25'), ('storm', 'storm'), ('winter', 'storm'), ('ebola', 'ebola'), ('disease', 'ebola'), ('bomb', 'bomb'), ('explosion', 'bomb'), ('crash', 'crash'), ('plane crash', 'crash'), ('shooting', 'charlie_hebdo'), ('paris shooting', 'charlie_hebdo'), ('terrorist attack', 'charlie_hebdo') ]: query(q) def query(q): num_results = 0 result = {} result['query'] = q[0] solr_query = si.query(text=q[0]) solr_query.field_limit(["id"]) start = time.time() response = solr_query.execute() #response = solr_query.execute() num_results = response.result.numFound result['num_results'] = num_results response = si.query(text=q[0]).field_limit(["id", "text"]).paginate(0,1000).execute() endTime = time.time() result['time'] = (endTime-start) rel = 0 for res in response: if q[1] in res['id']: rel+=1 result['precision'] = rel / 1000 print result if __name__=='__main__': runTest()