diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c6449e1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +solr/solr/logs/ +solr/solr/data/ +solr/solr/solr/index/ +solr/solr/solr/spellchecker +*.pyc +*.swp +*.log +.idea/ +**/target/ +*.iml +.classpath +.project +.settings +.DS_Store diff --git a/API/api.py b/API/api.py old mode 100644 new mode 100755 index 2c44236..d2a3a22 --- a/API/api.py +++ b/API/api.py @@ -17,7 +17,6 @@ except ImportError: import simplejson as json - # Very simple web facing API for FP dist urls = ( @@ -29,14 +28,15 @@ class ingest: def POST(self): - params = web.input(track_id="default", fp_code="", artist=None, release=None, track=None, length=None, codever=None) + params = web.input(track_id="default", fp_code="", artist=None, release=None, track=None, length=None, codever=None, source=None, genre=None, bitrate=None, sample_rate=None) + print params if params.track_id == "default": track_id = fp.new_track_id() else: track_id = params.track_id if params.length is None or params.codever is None: return web.webapi.BadRequest() - + # First see if this is a compressed code if re.match('[A-Za-z\/\+\_\-]', params.fp_code) is not None: code_string = fp.decode_code_string(params.fp_code) @@ -45,31 +45,44 @@ def POST(self): else: code_string = params.fp_code - data = {"track_id": track_id, + data = {"track_id": track_id, "fp": code_string, "length": params.length, "codever": params.codever } if params.artist: data["artist"] = params.artist if params.release: data["release"] = params.release if params.track: data["track"] = params.track + if params.source: data["source"] = params.source + if params.genre: data["genre"] = params.genre + if params.bitrate: data["bitrate"] = params.bitrate + if params.sample_rate: data["sample_rate"] = params.sample_rate + fp.ingest(data, do_commit=True, local=False) return json.dumps({"track_id":track_id, "status":"ok"}) - - + class query: + def DELETE(self): + params = web.input(track_id="") + fp.delete(params.track_id.encode("utf-8")) + def POST(self): return self.GET() - + def GET(self): stuff = web.input(fp_code="") response = fp.best_match_for_query(stuff.fp_code) + track_info = {key: value for key, value in response.metadata.items() + if key != "import_date"} + if "track_id" in track_info.keys(): + track_info["track_id"] = track_info["track_id"].split("-")[0] + return json.dumps({"ok":True, "query":stuff.fp_code, "message":response.message(), "match":response.match(), "score":response.score, \ - "qtime":response.qtime, "track_id":response.TRID, "total_time":response.total_time}) + "qtime":response.qtime, "track_id":response.TRID, "total_time":response.total_time, "track_info":track_info}) application = web.application(urls, globals())#.wsgifunc() - + if __name__ == "__main__": application.run() diff --git a/API/fp.py b/API/fp.py old mode 100644 new mode 100755 index 0ea31e0..195853d --- a/API/fp.py +++ b/API/fp.py @@ -14,6 +14,7 @@ import zlib, base64, re, time, random, string, math import pytyrant import datetime +from threading import Lock now = datetime.datetime.utcnow() IMPORTDATE = now.strftime("%Y-%m-%dT%H:%M:%SZ") @@ -23,11 +24,15 @@ except ImportError: import simplejson as json -_fp_solr = solr.SolrConnectionPool("http://localhost:8502/solr/fp") +solr_server = "127.0.0.1" +tyrant_server = "127.0.0.1" + +_fp_solr = solr.SolrConnectionPool("http://" + solr_server + ":8502/solr/fp") _hexpoch = int(time.time() * 1000) logger = logging.getLogger(__name__) -_tyrant_address = ['localhost', 1978] +_tyrant_address = [tyrant_server, 1978] _tyrant = None +_tyrant_lock = None class Response(object): # Response codes @@ -47,7 +52,7 @@ def __len__(self): return 1 else: return 0 - + def message(self): if self.code == self.NOT_ENOUGH_CODE: return "query code length is too small" @@ -56,10 +61,10 @@ def message(self): if self.code == self.SINGLE_BAD_MATCH or self.code == self.NO_RESULTS or self.code == self.MULTIPLE_BAD_HISTOGRAM_MATCH: return "no results found (type %d)" % (self.code) return "OK (match type %d)" % (self.code) - + def match(self): return self.TRID is not None - + def inflate_code_string(s): """ Takes an uncompressed code string consisting of 0-padded fixed-width @@ -108,10 +113,10 @@ def metadata_for_track_id(track_id, local=False): # Assume track_ids have 1 - and it's at the end of the id. if "-" not in track_id: track_id = "%s-0" % track_id - + if local: return _fake_solr["metadata"][track_id] - + with solr.pooled_connection(_fp_solr) as host: response = host.query("track_id:%s" % track_id) @@ -150,7 +155,7 @@ def best_match_for_query(code_string, elbow=10, local=False): code_string = decode_code_string(code_string) if code_string is None: return Response(Response.CANNOT_DECODE, tic=tic) - + code_len = len(code_string.split(" ")) / 2 if code_len < elbow: logger.warn("Query code length (%d) is less than elbow (%d)" % (code_len, elbow)) @@ -160,9 +165,9 @@ def best_match_for_query(code_string, elbow=10, local=False): code_len = len(code_string.split(" ")) / 2 # Query the FP flat directly. - response = query_fp(code_string, rows=30, local=local, get_data=True) + response = query_fp(code_string, rows=10, local=local, get_data=False) logger.debug("solr qtime is %d" % (response.header["QTime"])) - + if len(response.results) == 0: return Response(Response.NO_RESULTS, qtime=response.header["QTime"], tic=tic) @@ -186,13 +191,17 @@ def best_match_for_query(code_string, elbow=10, local=False): # Get the actual score for all responses original_scores = {} actual_scores = {} - + trackids = [r["track_id"].encode("utf8") for r in response.results] if local: tcodes = [_fake_solr["store"][t] for t in trackids] else: - tcodes = get_tyrant().multi_get(trackids) - + try: + get_tyrant_lock().acquire() + tcodes = get_tyrant().multi_get(trackids) + finally: + get_tyrant_lock().release() + # For each result compute the "actual score" (based on the histogram matching) for (i, r) in enumerate(response.results): track_id = r["track_id"] @@ -203,11 +212,11 @@ def best_match_for_query(code_string, elbow=10, local=False): # is not in our keystore continue actual_scores[track_id] = actual_matches(code_string, track_code, elbow = elbow) - + #logger.debug("Actual score for %s is %d (code_len %d), original was %d" % (r["track_id"], actual_scores[r["track_id"]], code_len, top_match_score)) # Sort the actual scores sorted_actual_scores = sorted(actual_scores.iteritems(), key=lambda (k,v): (v,k), reverse=True) - + # Because we split songs up into multiple parts, sometimes the results will have the same track in the # first few results. Remove these duplicates so that the falloff is (potentially) higher. new_sorted_actual_scores = [] @@ -227,7 +236,7 @@ def best_match_for_query(code_string, elbow=10, local=False): logger.info("only result less than 10%% of the query string (%d < %d *0.1 (%d)) SINGLE_BAD_MATCH", top_score, code_len, code_len*0.1) return Response(Response.SINGLE_BAD_MATCH, qtime = response.header["QTime"], tic=tic) else: - if top_score > (original_scores[top_track_id] / 2): + if top_score > (original_scores[top_track_id] / 2): logger.info("top_score > original_scores[%s]/2 (%d > %d) GOOD_MATCH_DECREASED", top_track_id, top_score, original_scores[top_track_id]/2) trid = top_track_id.split("-")[0] @@ -237,7 +246,7 @@ def best_match_for_query(code_string, elbow=10, local=False): logger.info("top_score NOT > original_scores[%s]/2 (%d <= %d) BAD_HISTOGRAM_MATCH", top_track_id, top_score, original_scores[top_track_id]/2) return Response(Response.MULTIPLE_BAD_HISTOGRAM_MATCH, qtime=response.header["QTime"], tic=tic) - + # Get the top one (actual_score_top_track_id, actual_score_top_score) = sorted_actual_scores[0] # Get the 2nd top one (we know there is always at least 2 matches) @@ -245,12 +254,17 @@ def best_match_for_query(code_string, elbow=10, local=False): trackid = actual_score_top_track_id.split("-")[0] meta = metadata_for_track_id(trackid, local=local) - + if actual_score_top_score < code_len * 0.05: return Response(Response.MULTIPLE_BAD_HISTOGRAM_MATCH, qtime = response.header["QTime"], tic=tic) else: # If the actual score went down it still could be close enough, so check for that - if actual_score_top_score > (original_scores[actual_score_top_track_id] / 4): + if actual_score_top_score > (original_scores[actual_score_top_track_id] / 4): + + #first and second place with same score means that probably it is the same track. return the first then + if (actual_score_top_score == actual_score_2nd_score): + return Response(Response.MULTIPLE_GOOD_MATCH_HISTOGRAM_DECREASED, TRID=trackid, score=actual_score_top_score, qtime=response.header["QTime"], tic=tic, metadata=meta) + if (actual_score_top_score - actual_score_2nd_score) >= (actual_score_top_score / 3): # for examples [10,4], 10-4 = 6, which >= 5, so OK return Response(Response.MULTIPLE_GOOD_MATCH_HISTOGRAM_DECREASED, TRID=trackid, score=actual_score_top_score, qtime=response.header["QTime"], tic=tic, metadata=meta) else: @@ -271,7 +285,7 @@ def actual_matches(code_string_query, code_string_match, slop = 2, elbow = 10): code_query_int = [int(x) for x in code_query] min_time = min(code_query_int[1::2]) code_query[1::2] = [str(x - min_time) for x in code_query_int[1::2]] - + # # Invert the query codes query_codes = {} @@ -310,22 +324,32 @@ def actual_matches(code_string_query, code_string_match, slop = 2, elbow = 10): return actual_match_list[0][1] + actual_match_list[1][1] if(len(actual_match_list)>0): return actual_match_list[0][1] - return 0 + return 0 + +def get_tyrant_lock(): + global _tyrant_lock + + if _tyrant_lock is None: + _tyrant_lock = Lock() + + return _tyrant_lock def get_tyrant(): global _tyrant + if _tyrant is None: _tyrant = pytyrant.PyTyrant.open(*_tyrant_address) + return _tyrant """ fp can query the live production flat or the alt flat, or it can query and ingest in memory. the following few functions are to support local query and ingest that ape the response of the live server This is useful for small collections and testing, deduplicating, etc, without having to boot a server. - The results should be equivalent but i need to run tests. - + The results should be equivalent but i need to run tests. + NB: delete is not supported locally yet - + """ _fake_solr = {"index": {}, "store": {}, "metadata": {}} @@ -345,7 +369,7 @@ def __init__(self, results): self.results.append(data) else: self.results.append({"score":r[1], "track_id":r[0]}) - + def local_load(filename): global _fake_solr print "Loading from " + filename @@ -353,14 +377,14 @@ def local_load(filename): _fake_solr = pickle.load(disk) disk.close() print "Done" - + def local_save(filename): print "Saving to " + filename disk = open(filename,"wb") pickle.dump(_fake_solr,disk) disk.close() print "Done" - + def local_ingest(docs, codes): store = dict(codes) _fake_solr["store"].update(store) @@ -395,7 +419,7 @@ def local_delete(tracks): pass if len(_fake_solr["index"][code]) == 0: del _fake_solr["index"][code] - + def local_dump(): print "Stored tracks:" @@ -425,7 +449,7 @@ def local_query_fp(code_string,rows=10,get_data=False): # Make a list of lists that have track_id, score, then fp lol = sorted(top_matches.iteritems(), key=lambda (k,v): (v,k), reverse=True)[0:rows] lol = map(list, lol) - + for x in lol: trackid = x[0].split("-")[0] x.append(_fake_solr["store"][x[0]]) @@ -434,13 +458,13 @@ def local_query_fp(code_string,rows=10,get_data=False): def local_fp_code_for_track_id(track_id): return _fake_solr["store"][track_id] - + """ - and these are the server-hosted versions of query, ingest and delete + and these are the server-hosted versions of query, ingest and delete """ def delete(track_ids, do_commit=True, local=False): - # delete one or more track_ids from the fp flat. + # delete one or more track_ids from the fp flat. if not isinstance(track_ids, list): track_ids = [track_ids] @@ -451,12 +475,17 @@ def delete(track_ids, do_commit=True, local=False): with solr.pooled_connection(_fp_solr) as host: for t in track_ids: host.delete_query("track_id:%s*" % t) - + try: - get_tyrant().multi_del(track_ids) + get_tyrant_lock().acquire() + delete_list = map(lambda track_id: map(lambda i: "%s-%s" % (track_id, i),range(20)), track_ids) + delete_list = sum(delete_list,[]) + get_tyrant().multi_del(delete_list) except KeyError: pass - + finally: + get_tyrant_lock().release() + if do_commit: commit() @@ -467,7 +496,7 @@ def local_erase_database(): def erase_database(really_delete=False, local=False): """ This method will delete your ENTIRE database. Only use it if you know what you're doing. - """ + """ if not really_delete: raise Exception("Won't delete unless you pass in really_delete=True") @@ -479,7 +508,9 @@ def erase_database(really_delete=False, local=False): host.commit() tyrant = get_tyrant() + get_tyrant_lock().acquire() tyrant.multi_del(tyrant.keys()) + get_tyrant_lock().release() def chunker(seq, size): return [tuple(seq[pos:pos + size]) for pos in xrange(0, len(seq), size)] @@ -492,7 +523,7 @@ def split_codes(fp): # Convert seconds into time units segmentlength = 60 * 1000.0 / 23.2 halfsegment = segmentlength / 2.0 - + trid = fp["track_id"] codestring = fp["fp"] @@ -515,7 +546,7 @@ def split_codes(fp): s = i * halfsegment e = i * halfsegment + segmentlength #print i, s, e - + while sindex < size and pairs[sindex][0] < s: #print "s", sindex, l[sindex] sindex+=1 @@ -524,7 +555,7 @@ def split_codes(fp): #print "e",eindex,l[eindex] eindex+=1 key = "%s-%d" % (trid, i) - + segment = {"track_id": key, "fp": " ".join((p[1]) for p in pairs[sindex:eindex]), "length": fp["length"], @@ -534,6 +565,10 @@ def split_codes(fp): if "track" in fp: segment["track"] = fp["track"] if "source" in fp: segment["source"] = fp["source"] if "import_date" in fp: segment["import_date"] = fp["import_date"] + if "genre" in fp: segment["genre"] = fp["genre"] + if "bitrate" in fp: segment["bitrate"] = fp["bitrate"] + if "sample_rate" in fp: segment["sample_rate"] = fp["sample_rate"] + ret.append(segment) return ret @@ -559,7 +594,7 @@ def ingest(fingerprint_list, do_commit=True, local=False, split=True): """ if not isinstance(fingerprint_list, list): fingerprint_list = [fingerprint_list] - + docs = [] codes = [] if split: @@ -580,11 +615,15 @@ def ingest(fingerprint_list, do_commit=True, local=False, split=True): if local: return local_ingest(docs, codes) + try: + get_tyrant_lock().acquire() + get_tyrant().multi_set(codes) + finally: + get_tyrant_lock().release() + with solr.pooled_connection(_fp_solr) as host: host.add_many(docs) - get_tyrant().multi_set(codes) - if do_commit: commit() @@ -595,7 +634,7 @@ def commit(local=False): def query_fp(code_string, rows=15, local=False, get_data=False): if local: return local_query_fp(code_string, rows, get_data=get_data) - + try: # query the fp flat if get_data: @@ -611,19 +650,24 @@ def query_fp(code_string, rows=15, local=False, get_data=False): def fp_code_for_track_id(track_id, local=False): if local: return local_fp_code_for_track_id(track_id) - - return get_tyrant().get(track_id.encode("utf-8")) + ret = "" + try: + get_tyrant_lock().acquire() + ret = get_tyrant().get(track_id.encode("utf-8")) + finally: + get_tyrant_lock().release() + return ret def new_track_id(): rand5 = ''.join(random.choice(string.letters) for x in xrange(5)).upper() global _hexpoch _hexpoch += 1 hexpoch = str(hex(_hexpoch))[2:].upper() - ## On 32-bit machines, the number of milliseconds since 1970 is + ## On 32-bit machines, the number of milliseconds since 1970 is ## a longint. On 64-bit it is not. hexpoch = hexpoch.rstrip('L') return "TR" + rand5 + hexpoch - + diff --git a/API/match_code.py b/API/match_code.py new file mode 100644 index 0000000..46d9084 --- /dev/null +++ b/API/match_code.py @@ -0,0 +1,24 @@ +import sys +import os +try: + import json +except ImportError: + import simplejson as json +import fp +from threading import Thread + +def match(fileName,code): + response = fp.best_match_for_query(code) + track_info = {key: value for key, value in response.metadata.items() + if key != "import_date"} + if "track_id" in track_info.keys(): + track_info["track_id"] = track_info["track_id"].split("-")[0] + + print json.dumps({"ok":True, "query":code, "message":response.message(), "match":response.match(), "score":response.score, \ + "qtime":response.qtime, "track_id":response.TRID, "total_time":response.total_time, "track_info":track_info, "file_name": fileName}) + sys.stdout.flush() + +while(True): + line = sys.stdin.readline() + (fileName, code) = line.rstrip().split("|") + Thread(target=match, args=[fileName,code]).start() diff --git a/API/solr.py b/API/solr.py index e5ef167..3931fb9 100644 --- a/API/solr.py +++ b/API/solr.py @@ -30,13 +30,13 @@ * Supports http/https and SSL client-side certificates * Uses persistent HTTP connections by default * Properly converts to/from SOLR data types, including datetime objects - * Supports both querying and update commands (add, delete). + * Supports both querying and update commands (add, delete). * Supports batching of commands - * Requires python 2.3+ - + * Requires python 2.3+ + Connections ----------- -`SolrConnection` can be passed in the following parameters. +`SolrConnection` can be passed in the following parameters. Only `url` is required,. url -- URI pointing to the SOLR instance. Examples: @@ -44,135 +44,135 @@ http://localhost:8080/solr https://solr-server/solr - Your python install must be compiled with SSL support for the + Your python install must be compiled with SSL support for the https:// schemes to work. (Most pre-packaged pythons are.) - persistent -- Keep a persistent HTTP connection open. + persistent -- Keep a persistent HTTP connection open. Defaults to true. - timeout -- Timeout, in seconds, for the server to response. + timeout -- Timeout, in seconds, for the server to response. By default, use the python default timeout (of none?) NOTE: This changes the python-wide timeout. - ssl_key, ssl_cert -- If using client-side key files for - SSL authentication, these should be, respectively, + ssl_key, ssl_cert -- If using client-side key files for + SSL authentication, these should be, respectively, your PEM key file and certificate file Once created, a connection object has the following public methods: - query (q, fields=None, highlight=None, + query (q, fields=None, highlight=None, score=True, sort=None, **params) q -- the query string. - + fields -- optional list of fields to include. It can be either - a string in the format that SOLR expects ('id,f1,f2'), or - a python list/tuple of field names. Defaults to returning + a string in the format that SOLR expects ('id,f1,f2'), or + a python list/tuple of field names. Defaults to returning all fields. ("*") score -- boolean indicating whether "score" should be included in the field list. Note that if you explicitly list - "score" in your fields value, then this parameter is - effectively ignored. Defaults to true. + "score" in your fields value, then this parameter is + effectively ignored. Defaults to true. highlight -- indicates whether highlighting should be included. - `highlight` can either be `False`, indicating "No" (the - default), `True`, incidating to highlight any fields + `highlight` can either be `False`, indicating "No" (the + default), `True`, incidating to highlight any fields included in "fields", or a list of field names. - sort -- list of fields to sort by. + sort -- list of fields to sort by. - Any parameters available to SOLR 'select' calls can also be - passed in as named parameters (e.g., fq='...', rows=20, etc). - - Many SOLR parameters are in a dotted notation (e.g., - `hl.simple.post`). For such parameters, replace the dots with - underscores when calling this method. (e.g., + Any parameters available to SOLR 'select' calls can also be + passed in as named parameters (e.g., fq='...', rows=20, etc). + + Many SOLR parameters are in a dotted notation (e.g., + `hl.simple.post`). For such parameters, replace the dots with + underscores when calling this method. (e.g., hl_simple_post=') Returns a Response object add(**params) - - Add a document. Pass in all document fields as + + Add a document. Pass in all document fields as keyword parameters: - + add(id='foo', notes='bar') - + You must "commit" for the addition to be saved. This command honors begin_batch/end_batch. - + add_many(lst) - - Add a series of documents at once. Pass in a list of + + Add a series of documents at once. Pass in a list of dictionaries, where each dictionary is a mapping of document fields: - - add_many( [ {'id': 'foo1', 'notes': 'foo'}, + + add_many( [ {'id': 'foo1', 'notes': 'foo'}, {'id': 'foo2', 'notes': 'w00t'} ] ) - + You must "commit" for the addition to be saved. This command honors begin_batch/end_batch. - + delete(id) - - Delete a document by id. - + + Delete a document by id. + You must "commit" for the deletion to be saved. This command honors begin_batch/end_batch. delete_many(lst) Delete a series of documents. Pass in a list of ids. - + You must "commit" for the deletion to be saved. This command honors begin_batch/end_batch. delete_query(query) - - Delete any documents returned by issuing a query. - + + Delete any documents returned by issuing a query. + You must "commit" for the deletion to be saved. This command honors begin_batch/end_batch. commit(wait_flush=True, wait_searcher=True) - Issue a commit command. + Issue a commit command. This command honors begin_batch/end_batch. optimize(wait_flush=True, wait_searcher=True) - Issue an optimize command. + Issue an optimize command. This command honors begin_batch/end_batch. begin_batch() - + Begin "batch" mode, in which all commands to be sent - to the SOLR server are queued up and sent all at once. - + to the SOLR server are queued up and sent all at once. + No update commands will be sent to the backend server until end_batch() is called. Not that "query" commands are not batched. - - begin_batch/end_batch transactions can be nested. + + begin_batch/end_batch transactions can be nested. The transaction will not be sent to the backend server - until as many end_batch() calls have been made as - begin_batch()s. + until as many end_batch() calls have been made as + begin_batch()s. - Batching is completely optional. Any update commands - issued outside of a begin_batch()/end_batch() pair will - be immediately processed. + Batching is completely optional. Any update commands + issued outside of a begin_batch()/end_batch() pair will + be immediately processed. end_batch(commit=False) - + End a batching pair. Any pending commands are sent - to the backend server. If "True" is passed in to - end_batch, a is also sent. + to the backend server. If "True" is passed in to + end_batch, a is also sent. raw_query(**params) @@ -180,64 +180,64 @@ the SOLR server. The resulting text is returned un-parsed. raw_query(q='id:1', wt='python', indent='on') - - Many SOLR parameters are in a dotted notation (e.g., - `hl.simple.post`). For such parameters, replace the dots with - underscores when calling this method. (e.g., + + Many SOLR parameters are in a dotted notation (e.g., + `hl.simple.post`). For such parameters, replace the dots with + underscores when calling this method. (e.g., hl_simple_post=') - + Query Responses --------------- - Calls to connection.query() return a Response object. - - Response objects always have the following properties: - - results -- A list of matching documents. Each document will be a - dict of field values. - + Calls to connection.query() return a Response object. + + Response objects always have the following properties: + + results -- A list of matching documents. Each document will be a + dict of field values. + results.start -- An integer indicating the starting # of documents - + results.numMatches -- An integer indicating the total # of matches. - + header -- A dict containing any responseHeaders. Usually: - + header['params'] -- dictionary of original parameters used to - create this response set. - + create this response set. + header['QTime'] -- time spent on the query - + header['status'] -- status code. - + See SOLR documentation for other/typical return values. This may be settable at the SOLR-level in your config files. - + next_batch() -- If only a partial set of matches were returned - (by default, 10 documents at a time), then calling - .next_batch() will return a new Response object containing + (by default, 10 documents at a time), then calling + .next_batch() will return a new Response object containing the next set of matching documents. Returns None if no - more matches. - - This works by re-issuing the same query to the backend server, + more matches. + + This works by re-issuing the same query to the backend server, with a new 'start' value. - + previous_batch() -- Same as next_batch, but return the previous - set of matches. Returns None if this is the first batch. + set of matches. Returns None if this is the first batch. Response objects also support __len__ and iteration. So, the following - shortcuts work: - + shortcuts work: + responses = connection.query('q=foo') print len(responses) - for document in responses: + for document in responses: print document['id'], document['score'] - If you pass in `highlight` to the SolrConnection.query call, - then the response object will also have a highlight property, + If you pass in `highlight` to the SolrConnection.query call, + then the response object will also have a highlight property, which will be a dictionary. @@ -248,7 +248,7 @@ Example showing basic connection/transactions >>> from solr import * - >>> c = SolrConnection('http://localhost:8983/solr') + >>> c = SolrConnection('http://localhost:8983/solr') >>> c.add(id='500', name='python test doc', inStock=True) >>> c.delete('123') >>> c.commit() @@ -260,16 +260,16 @@ >>> response = c.query('test', rows=20) >>> print response.results.start 0 - >>> for match in response: - ... print match['id'], + >>> for match in response: + ... print match['id'], 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 >>> response = response.next_batch() >>> print response.results.start 20 - + Add 3 documents and delete 1, but send all of them as a single transaction. - + >>> c.begin_batch() >>> c.add(id="1") >>> c.add(id="2") @@ -279,7 +279,7 @@ Enter a raw query, without processing the returned HTML contents. - + >>> print c.query_raw(q='id:[* TO *]', wt='python', rows='10') """ @@ -316,7 +316,7 @@ def pooled_connection(pool): """ Provides some syntactic sugar for using a ConnectionPool. Example use: - + pool = ConnectionPool(SolrConnection, 'http://localhost:8080/solr') with pooled_connection(pool) as conn: docs = conn.query('*:*') @@ -332,27 +332,27 @@ def pooled_connection(pool): class ConnectionPool(object): "Thread-safe connection pool." - + def __init__(self, klass, *args, **kwargs): """ Initialize a new connection pool, where klass is the connection class. Provide any addition args or kwargs to pass during initialization of new connections. - + If a kwarg named pool_size is provided, it will dictate the maximum number of connections to retain in the pool. If none is provided, it will default to 20. """ self._args = args self._kwargs = kwargs - self._queue = Queue.Queue(self._kwargs.pop('pool_size', 20)) + self._queue = Queue.Queue(self._kwargs.pop('pool_size', 80)) self._klass = klass - + def get(self): "Get an available connection, creating a new one if needed." try: return self._queue.get_nowait() except Queue.Empty: return self._klass(*self._args, **self._kwargs) - + def put(self, conn): "Return a connection to the pool." try: @@ -364,7 +364,7 @@ class SolrConnectionPool(ConnectionPool): def __init__(self, url, **kwargs): ConnectionPool.__init__(self, SolrConnection, url, **kwargs) - + def str2bool(s): if(isinstance(s,bool)): return s @@ -381,11 +381,11 @@ def str2bool(s): def reallyunicode(s, encoding="utf-8"): """ - Try the user's encoding first, then others in order; break the loop as + Try the user's encoding first, then others in order; break the loop as soon as we find an encoding we can read it with. If we get to ascii, - include the "replace" argument so it can't fail (it'll just turn + include the "replace" argument so it can't fail (it'll just turn everything fishy into question marks). - + Usually this will just try utf-8 twice, because we will rarely if ever specify an encoding. But we could! """ @@ -409,7 +409,7 @@ def makeNiceLucene(text): text = re.sub(r'\bOR\b', '\OR', text) text = re.sub(r'\bNOT\b', '\NOT', text) return re.sub(r"([\+\-\&\|\!\(\)\{\}\[\]\;\^\"\~\*\?\:\\])",r"\\\1", text) - + # =================================================================== @@ -439,8 +439,8 @@ class SolrContentException(SolrException): # Connection Object # =================================================================== class SolrConnection: - """ - Represents a Solr connection. + """ + Represents a Solr connection. Designed to work with the 2.2 response format (SOLR 1.2+). (though 2.1 will likely work.) @@ -449,8 +449,8 @@ class SolrConnection: def __init__(self, url, persistent=True, - timeout=None, - ssl_key=None, + timeout=None, + ssl_key=None, ssl_cert=None, invariant="", post_headers={}): @@ -461,45 +461,45 @@ def __init__(self, url, http://localhost:8080/solr https://solr-server/solr - Your python install must be compiled with SSL support for the + Your python install must be compiled with SSL support for the https:// schemes to work. (Most pre-packaged pythons are.) - persistent -- Keep a persistent HTTP connection open. + persistent -- Keep a persistent HTTP connection open. Defaults to true - timeout -- Timeout, in seconds, for the server to response. + timeout -- Timeout, in seconds, for the server to response. By default, use the python default timeout (of none?) NOTE: This changes the python-wide timeout. - ssl_key, ssl_cert -- If using client-side key files for - SSL authentication, these should be, respectively, + ssl_key, ssl_cert -- If using client-side key files for + SSL authentication, these should be, respectively, your PEM key file and certificate file """ - + self.scheme, self.host, self.path = urlparse.urlparse(url, 'http')[:3] self.url = url assert self.scheme in ('http','https') - + self.persistent = persistent self.reconnects = 0 self.timeout = timeout self.ssl_key = ssl_key self.ssl_cert = ssl_cert self.invariant = invariant - - if self.scheme == 'https': - self.conn = httplib.HTTPSConnection(self.host, + + if self.scheme == 'https': + self.conn = httplib.HTTPSConnection(self.host, key_file=ssl_key, cert_file=ssl_cert) else: self.conn = httplib.HTTPConnection(self.host) self.batch_cnt = 0 # this is int, not bool! - self.response_version = 2.2 + self.response_version = 2.2 self.encoder = codecs.getencoder('utf-8') - + #responses from Solr will always be in UTF-8 self.decoder = codecs.getdecoder('utf-8') @@ -510,42 +510,42 @@ def __init__(self, url, self.xmlheaders = {'Content-Type': 'text/xml; charset=utf-8'} self.jsonheaders = {'Content-Type': 'text/json; charset=utf-8'} self.xmlheaders.update(post_headers) - if not self.persistent: + if not self.persistent: self.xmlheaders['Connection'] = 'close' self.form_headers = { - 'Content-Type': + 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'} - if not self.persistent: + if not self.persistent: self.form_headers['Connection'] = 'close' # =================================================================== # XML Parsing support - # =================================================================== + # =================================================================== def parse_query_response(self,data, params, connection): """ - Parse the XML results of a /select call. + Parse the XML results of a /select call. """ parser = make_parser() handler = ResponseContentHandler() parser.setContentHandler(handler) parser.parse(data) - if handler.stack[0].children: + if handler.stack[0].children: response = handler.stack[0].children[0].final response._params = params response._connection = connection return response - else: + else: return None def parse_query_response_python(self,data, params, connection): """ - Parse the wt=python results of a /select call. + Parse the wt=python results of a /select call. """ #parser = make_parser() #handler = ResponseContentHandler() @@ -553,12 +553,12 @@ def parse_query_response_python(self,data, params, connection): return eval(data) #parser.parse(data) - #if handler.stack[0].children: + #if handler.stack[0].children: # response = handler.stack[0].children[0].final # response._params = params # response._connection = connection # return response - #else: + #else: # return None def smartQuery(self, query, fq='', fields='name,id', sort='',limit=0, start=0, blockSize=1000,callback=None): @@ -581,33 +581,33 @@ def smartQuery(self, query, fq='', fields='name,id', sort='',limit=0, start=0, b sys.stderr.write('\n') return docs - def query(self, q, fields=None, highlight=None, + def query(self, q, fields=None, highlight=None, score=True, sort=None, use_experimental_parser=False, **params): """ q is the query string. - - fields is an optional list of fields to include. It can - be either a string in the format that SOLR expects, or - a python list/tuple of field names. Defaults to + + fields is an optional list of fields to include. It can + be either a string in the format that SOLR expects, or + a python list/tuple of field names. Defaults to all fields. ("*") score indicates whether "score" should be included in the field list. Note that if you explicitly list - "score" in your fields value, then score is - effectively ignored. Defaults to true. + "score" in your fields value, then score is + effectively ignored. Defaults to true. highlight indicates whether highlighting should be included. - highligh can either be False, indicating "No" (the default), - True, incidating to highlight any fields included in "fields", - or a list of fields in the same format as "fields". + highligh can either be False, indicating "No" (the default), + True, incidating to highlight any fields included in "fields", + or a list of fields in the same format as "fields". sort is a list of fields to sort by. See "fields" for formatting. Optional parameters can also be passed in. Many SOLR - parameters are in a dotted notation (e.g., hl.simple.post). - For such parameters, replace the dots with underscores when + parameters are in a dotted notation (e.g., hl.simple.post). + For such parameters, replace the dots with underscores when calling this method. (e.g., hl_simple_post=') Returns a Response instance. @@ -615,29 +615,29 @@ def query(self, q, fields=None, highlight=None, """ # Clean up optional parameters to match SOLR spec. - params = dict([(key.replace('_','.'), unicode(value)) + params = dict([(key.replace('_','.'), unicode(value)) for key, value in params.items()]) if type(q) == type(u''): q = q.encode('utf-8') - if q is not None: + if q is not None: params['q'] = q - - if fields: - if not isinstance(fields, basestring): + + if fields: + if not isinstance(fields, basestring): fields = ",".join(fields) - if not fields: + if not fields: fields = '*' - if sort: - if not isinstance(sort, basestring): + if sort: + if not isinstance(sort, basestring): sort = ",".join(sort) params['sort'] = sort - if score and not 'score' in fields.replace(',',' ').split(): + if score and not 'score' in fields.replace(',',' ').split(): fields += ',score' - - + + # BAW 4/5/09 -- this would add bandwidht & parse time to long queries params['echoParams'] = "none" @@ -648,12 +648,12 @@ def query(self, q, fields=None, highlight=None, if(params.has_key('fq')): if(params['fq'] == "None"): del params['fq'] - - - if highlight: + + + if highlight: params['hl'] = 'on' - if not isinstance(highlight, (bool, int, float)): - if not isinstance(highlight, basestring): + if not isinstance(highlight, (bool, int, float)): + if not isinstance(highlight, basestring): highlight = ",".join(highlight) params['hl.fl'] = highlight @@ -666,12 +666,12 @@ def query(self, q, fields=None, highlight=None, request = urllib.urlencode(params, doseq=True) try: tic = time.time() - rsp = self._post(self.path + '/select'+self.invariant, + rsp = self._post(self.path + '/select'+self.invariant, request, self.form_headers) # If we pass in rsp directly, instead of using rsp.read()) # and creating a StringIO, then Persistence breaks with - # an internal python error. - + # an internal python error. + #xml = StringIO(self._cleanup(reallyUTF8(rsp.read()))) tic=time.time() s1 = rsp.read() @@ -682,58 +682,58 @@ def query(self, q, fields=None, highlight=None, data = self.parse_query_response_python(s3, params=params, connection=self) else: xml = StringIO(s3) - data = self.parse_query_response(xml, params=params, connection=self) - + data = self.parse_query_response(xml, params=params, connection=self) + finally: - if not self.persistent: + if not self.persistent: self.conn.close() return data - def begin_batch(self): + def begin_batch(self): """ - Denote the beginning of a batch update. + Denote the beginning of a batch update. No update commands will be sent to the backend server - until end_batch() is called. - + until end_batch() is called. + Any update commands issued outside of a begin_batch()/ - end_batch() series will be immediately processed. + end_batch() series will be immediately processed. - begin_batch/end_batch transactions can be nested. + begin_batch/end_batch transactions can be nested. The transaction will not be sent to the backend server - until as many end_batch() calls have been made as - begin_batch()s. + until as many end_batch() calls have been made as + begin_batch()s. """ - if not self.batch_cnt: + if not self.batch_cnt: self.__batch_queue = [] self.batch_cnt += 1 return self.batch_cnt - + def end_batch(self, commit=False): """ - Denote the end of a batch update. - - Sends any queued commands to the backend server. + Denote the end of a batch update. + + Sends any queued commands to the backend server. If `commit` is True, then a command is included - at the end of the list of commands sent. + at the end of the list of commands sent. """ batch_cnt = self.batch_cnt - 1 - if batch_cnt < 0: + if batch_cnt < 0: raise SolrContentException( "end_batch called without a corresponding begin_batch") - + self.batch_cnt = batch_cnt - if batch_cnt: + if batch_cnt: return False - if commit: + if commit: self.__batch_queue.append('') return self._update("".join(self.__batch_queue)) @@ -741,15 +741,15 @@ def end_batch(self, commit=False): def delete(self, id): """ - Delete a specific document by id. + Delete a specific document by id. """ xstr = u'%s' % escape(unicode(id)) return self._update(xstr) - def delete_many(self, ids): + def delete_many(self, ids): """ - Delete documents using a list of IDs. + Delete documents using a list of IDs. """ self.begin_batch() [self.delete(id) for id in ids] @@ -768,14 +768,14 @@ def add(self, _commit=False, **fields): Add a document to the SOLR server. Document fields should be specified as arguments to this function - Example: + Example: connection.add(id="mydoc", author="Me") """ lst = [u''] self.__add(lst, fields) lst.append(u'') - if _commit: + if _commit: lst.append(u'') xstr = ''.join(lst) return self._update(xstr) @@ -785,42 +785,42 @@ def add_many(self, docs, _commit=False, addHandler="/update"): """ Add several documents to the SOLR server. - docs -- a list of dicts, where each dict is a document to add + docs -- a list of dicts, where each dict is a document to add to SOLR. """ lst = [u''] for doc in docs: self.__add(lst, doc) lst.append(u'') - if _commit: + if _commit: lst.append(u'') xstr = ''.join(lst) return self._update(xstr, addHandler=addHandler) - - + + def commit(self, wait_flush=True, wait_searcher=True, _optimize=False): """ - Issue a commit command to the SOLR server. + Issue a commit command to the SOLR server. """ if not wait_searcher: #just handle deviations from the default - if not wait_flush: + if not wait_flush: options = 'waitFlush="false" waitSearcher="false"' - else: + else: options = 'waitSearcher="false"' else: options = '' - - if _optimize: + + if _optimize: xstr = u'' % options else: xstr = u'' % options - + return self._update(xstr) - def optimize(self, wait_flush=True, wait_searcher=True, ): + def optimize(self, wait_flush=True, wait_searcher=True, ): """ Issue an optimize command to the SOLR server. """ @@ -829,103 +829,103 @@ def optimize(self, wait_flush=True, wait_searcher=True, ): def handler_update(self, handler, xml): try: - rsp = self._post(self.path+'/'+handler+self.invariant, + rsp = self._post(self.path+'/'+handler+self.invariant, xml, self.xmlheaders) data = rsp.read() finally: - if not self.persistent: + if not self.persistent: self.conn.close() return data def handler_update_dict(self, handler, dict): try: - rsp = self._post(self.path+'/'+handler+self.invariant, + rsp = self._post(self.path+'/'+handler+self.invariant, str(dict), self.jsonheaders) data = rsp.read() finally: - if not self.persistent: + if not self.persistent: self.conn.close() return data def handler_query(self, handler, **params): """ - Issue a query against a SOLR server. - Return the raw result. No pre-processing or + Issue a query against a SOLR server. + Return the raw result. No pre-processing or post-processing happends to either input parameters or responses """ # Clean up optional parameters to match SOLR spec. - params = dict([(key.replace('_','.'), unicode(value)) + params = dict([(key.replace('_','.'), unicode(value)) for key, value in params.items()]) request = urllib.urlencode(params, doseq=True) try: - rsp = self._post(self.path+'/'+handler+self.invariant, + rsp = self._post(self.path+'/'+handler+self.invariant, request, self.form_headers) data = rsp.read() finally: - if not self.persistent: + if not self.persistent: self.conn.close() return data - + def handler_update_params(self, handler, **params): # Clean up optional parameters to match SOLR spec. - params = dict([(key.replace('_','.'), unicode(value)) + params = dict([(key.replace('_','.'), unicode(value)) for key, value in params.items()]) request = urllib.urlencode(params, doseq=True) try: - rsp = self._post(self.path+'/'+handler+self.invariant, + rsp = self._post(self.path+'/'+handler+self.invariant, request, self.form_headers) data = rsp.read() finally: - if not self.persistent: + if not self.persistent: self.conn.close() return data def raw_query(self, **params): """ - Issue a query against a SOLR server. + Issue a query against a SOLR server. - Return the raw result. No pre-processing or + Return the raw result. No pre-processing or post-processing happends to either input parameters or responses """ # Clean up optional parameters to match SOLR spec. - params = dict([(key.replace('_','.'), unicode(value)) + params = dict([(key.replace('_','.'), unicode(value)) for key, value in params.items()]) request = urllib.urlencode(params, doseq=True) try: - rsp = self._post(self.path+'/select'+self.invariant, + rsp = self._post(self.path+'/select'+self.invariant, request, self.form_headers) data = rsp.read() finally: - if not self.persistent: + if not self.persistent: self.conn.close() return data - + def _update(self, request, addHandler="/update"): - # If we're in batching mode, just queue up the requests for later. - if self.batch_cnt: + # If we're in batching mode, just queue up the requests for later. + if self.batch_cnt: self.__batch_queue.append(request) - return + return try: rsp = self._post(self.path + addHandler + self.invariant, request, self.xmlheaders) data = rsp.read() finally: - if not self.persistent: + if not self.persistent: self.conn.close() - + #detect old-style error response (HTTP response code of #200 with a non-zero status. if data.startswith('%s' % ( - (quoteattr(field), + (quoteattr(field), escape(unicode(val))))) except UnicodeDecodeError: lst.append(' ' % ( @@ -967,7 +967,7 @@ def __add(self, lst, fields): def __repr__(self): return ('') % ( - self.url, self.persistent, + self.url, self.persistent, self.xmlheaders, self.reconnects) @@ -1016,12 +1016,12 @@ def _cleanup(self, body): body = body.replace("\x1E","") body = body.replace("\x1F","") return body - + def _post(self, url, body, headers): body = self._cleanup(body) - + maxattempts = attempts = 4 - while attempts: + while attempts: caught_exception = False try: self.conn.request('POST', url, body.encode('utf-8'), headers) @@ -1030,7 +1030,7 @@ def _post(self, url, body, headers): httplib.ImproperConnectionState, httplib.BadStatusLine): # We include BadStatusLine as they are spurious - # and may randomly happen on an otherwise fine + # and may randomly happen on an otherwise fine # SOLR connection (though not often) time.sleep(1) caught_exception = True @@ -1039,32 +1039,32 @@ def _post(self, url, body, headers): sys.stderr.write(msg) time.sleep(3 + 2 ** (maxattempts - attempts)) caught_exception = True - if caught_exception: + if caught_exception: self._reconnect() attempts -= 1 if not attempts: raise - + # =================================================================== # Response objects # =================================================================== class Response(object): """ - A container class for a + A container class for a + + A Response object will have the following properties: - A Response object will have the following properties: - header -- a dict containing any responseHeader values results -- a list of matching documents. Each list item will - be a dict. + be a dict. """ def __init__(self, connection): # These are set in ResponseContentHandler.endElement() self.header = {} self.results = [] - + # These are set by parse_query_response(). # Used only if .next_batch()/previous_batch() is called self._connection = connection @@ -1084,18 +1084,18 @@ def __iter__(self): def next_batch(self): """ - Load the next set of matches. + Load the next set of matches. - By default, SOLR returns 10 at a time. + By default, SOLR returns 10 at a time. """ try: start = int(self.results.start) - except AttributeError: + except AttributeError: start = 0 start += len(self.results) params = dict(self._params) - params['start'] = start + params['start'] = start q = params['q'] del params['q'] return self._connection.query(q, **params) @@ -1108,8 +1108,8 @@ def previous_batch(self): start = int(self.results.start) except AttributeError: start = 0 - - if not start: + + if not start: return None rows = int(self.header.get('rows', len(self.results))) @@ -1120,51 +1120,51 @@ def previous_batch(self): q = params['q'] del params['q'] return self._connection.query(q, **params) - + # =================================================================== # XML Parsing support -# =================================================================== +# =================================================================== #def parse_query_response(data, params, connection): # """ -# Parse the XML results of a /select call. +# Parse the XML results of a /select call. # """ # parser = make_parser() # handler = ResponseContentHandler() # parser.setContentHandler(handler) # parser.parse(data) -# if handler.stack[0].children: +# if handler.stack[0].children: # response = handler.stack[0].children[0].final # response._params = params # response._connection = connection # return response -# else: +# else: # return None -class ResponseContentHandler(ContentHandler): +class ResponseContentHandler(ContentHandler): """ - ContentHandler for the XML results of a /select call. + ContentHandler for the XML results of a /select call. (Versions 2.2 (and possibly 2.1)) """ def __init__(self): self.stack = [Node(None, {})] self.in_tree = False - - def startElement(self, name, attrs): + + def startElement(self, name, attrs): if not self.in_tree: - if name != 'response': + if name != 'response': raise SolrContentException( "Unknown XML response from server: <%s ..." % ( name)) self.in_tree = True element = Node(name, attrs) - + # Keep track of new node self.stack.append(element) - + # Keep track of children self.stack[-2].children.append(element) @@ -1178,64 +1178,64 @@ def endElement(self, name): name = node.name value = "".join(node.chars) - - if name == 'int': + + if name == 'int': node.final = int(value.strip()) - - elif name == 'str': + + elif name == 'str': node.final = value - - elif name == 'null': + + elif name == 'null': node.final = None - - elif name == 'long': + + elif name == 'long': node.final = long(value.strip()) - elif name == 'bool': + elif name == 'bool': node.final = value.strip().lower().startswith('t') - - elif name == 'date': + + elif name == 'date': node.final = utc_from_string(value.strip()) - + elif name in ('float','double', 'status','QTime'): node.final = float(value.strip()) - - elif name == 'response': + + elif name == 'response': node.final = response = Response(self) - for child in node.children: + for child in node.children: name = child.attrs.get('name', child.name) - if name == 'responseHeader': + if name == 'responseHeader': name = 'header' - elif child.name == 'result': + elif child.name == 'result': name = 'results' setattr(response, name, child.final) - elif name in ('lst','doc'): + elif name in ('lst','doc'): # Represent these with a dict node.final = dict( - [(cnode.attrs['name'], cnode.final) + [(cnode.attrs['name'], cnode.final) for cnode in node.children]) - elif name in ('arr',): + elif name in ('arr',): node.final = [cnode.final for cnode in node.children] - elif name == 'result': + elif name == 'result': node.final = Results([cnode.final for cnode in node.children]) - elif name in ('responseHeader',): + elif name in ('responseHeader',): node.final = dict([(cnode.name, cnode.final) for cnode in node.children]) else: raise SolrContentException("Unknown tag: %s" % name) - for attr, val in node.attrs.items(): - if attr != 'name': + for attr, val in node.attrs.items(): + if attr != 'name': setattr(node.final, attr, val) -class Results(list): +class Results(list): """ Convenience class containing items """ @@ -1247,9 +1247,9 @@ class Node(object): """ A temporary object used in XML processing. Not seen by end user. """ - def __init__(self, name, attrs): + def __init__(self, name, attrs): """ - final will eventually be the "final" representation of + final will eventually be the "final" representation of this node, whether an int, list, dict, etc. """ self.chars = [] @@ -1257,12 +1257,12 @@ def __init__(self, name, attrs): self.attrs = attrs self.final = None self.children = [] - + def __repr__(self): return '<%s val="%s" %s>' % ( - self.name, + self.name, "".join(self.chars).strip(), - ' '.join(['%s="%s"' % (attr, val) + ' '.join(['%s="%s"' % (attr, val) for attr, val in self.attrs.items()])) @@ -1343,16 +1343,16 @@ def utc_to_string(value): value = value.split('+')[0] value += 'Z' return value - -if sys.version < '2.5.': + +if sys.version < '2.5.': def utc_from_string(value): """ Parse a string representing an ISO 8601 date. - Note: this doesn't process the entire ISO 8601 standard, - onle the specific format SOLR promises to generate. + Note: this doesn't process the entire ISO 8601 standard, + onle the specific format SOLR promises to generate. """ try: - if not value.endswith('Z') and value[10] == 'T': + if not value.endswith('Z') and value[10] == 'T': raise ValueError(value) year = int(value[0:4]) month = int(value[5:7]) @@ -1361,16 +1361,16 @@ def utc_from_string(value): minute = int(value[14:16]) microseconds = int(float(value[17:-1]) * 1000000.0) second, microsecond = divmod(microseconds, 1000000) - return datetime.datetime(year, month, day, hour, + return datetime.datetime(year, month, day, hour, minute, second, microsecond, utc) - except ValueError: + except ValueError: raise ValueError ("'%s' is not a valid ISO 8601 SOLR date" % value) -else: - def utc_from_string(value): +else: + def utc_from_string(value): """ Parse a string representing an ISO 8601 date. - Note: this doesn't process the entire ISO 8601 standard, - onle the specific format SOLR promises to generate. + Note: this doesn't process the entire ISO 8601 standard, + onle the specific format SOLR promises to generate. """ if(isinstance(value, datetime.datetime)): return value @@ -1380,11 +1380,11 @@ def utc_from_string(value): utc = utc.replace(microsecond = 1000 * int(value[20:-1])) except ValueError: try: - utc = utc.replace(microsecond = int(value[20:-1])) + utc = utc.replace(microsecond = int(value[20:-1])) # I've seen a date like this: 2008-12-03T02:07:52Z , e.g. no microseconds. except ValueError: utc = utc.replace(microsecond = 0) return utc except ValueError: return None - + diff --git a/Hashr/build.xml b/Hashr/build.xml deleted file mode 100644 index 1820d1a..0000000 --- a/Hashr/build.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - Builds, tests, and runs the project Hashr. - - - diff --git a/Hashr/dist/Hashr.jar b/Hashr/dist/Hashr.jar deleted file mode 100644 index cd93df3..0000000 Binary files a/Hashr/dist/Hashr.jar and /dev/null differ diff --git a/Hashr/dist/lib/apache-solr-cell-1.4.1-dev.jar b/Hashr/dist/lib/apache-solr-cell-1.4.1-dev.jar deleted file mode 100644 index c7cdcf0..0000000 Binary files a/Hashr/dist/lib/apache-solr-cell-1.4.1-dev.jar and /dev/null differ diff --git a/Hashr/dist/lib/apache-solr-clustering-1.4.1-dev.jar b/Hashr/dist/lib/apache-solr-clustering-1.4.1-dev.jar deleted file mode 100644 index 1d98384..0000000 Binary files a/Hashr/dist/lib/apache-solr-clustering-1.4.1-dev.jar and /dev/null differ diff --git a/Hashr/dist/lib/apache-solr-core-1.4.1-dev.jar b/Hashr/dist/lib/apache-solr-core-1.4.1-dev.jar deleted file mode 100644 index 6818c4a..0000000 Binary files a/Hashr/dist/lib/apache-solr-core-1.4.1-dev.jar and /dev/null differ diff --git a/Hashr/dist/lib/apache-solr-dataimporthandler-1.4.1-dev.jar b/Hashr/dist/lib/apache-solr-dataimporthandler-1.4.1-dev.jar deleted file mode 100644 index f0659ab..0000000 Binary files a/Hashr/dist/lib/apache-solr-dataimporthandler-1.4.1-dev.jar and /dev/null differ diff --git a/Hashr/dist/lib/apache-solr-dataimporthandler-extras-1.4.1-dev.jar b/Hashr/dist/lib/apache-solr-dataimporthandler-extras-1.4.1-dev.jar deleted file mode 100644 index e249164..0000000 Binary files a/Hashr/dist/lib/apache-solr-dataimporthandler-extras-1.4.1-dev.jar and /dev/null differ diff --git a/Hashr/dist/lib/apache-solr-solrj-1.4.1-dev.jar b/Hashr/dist/lib/apache-solr-solrj-1.4.1-dev.jar deleted file mode 100644 index 1c0ea07..0000000 Binary files a/Hashr/dist/lib/apache-solr-solrj-1.4.1-dev.jar and /dev/null differ diff --git a/Hashr/dist/lib/commons-beanutils-1.8.0.jar b/Hashr/dist/lib/commons-beanutils-1.8.0.jar deleted file mode 100644 index caf7ae3..0000000 Binary files a/Hashr/dist/lib/commons-beanutils-1.8.0.jar and /dev/null differ diff --git a/Hashr/dist/lib/commons-codec-1.3.jar b/Hashr/dist/lib/commons-codec-1.3.jar deleted file mode 100644 index 957b675..0000000 Binary files a/Hashr/dist/lib/commons-codec-1.3.jar and /dev/null differ diff --git a/Hashr/dist/lib/commons-collections-3.2.1.jar b/Hashr/dist/lib/commons-collections-3.2.1.jar deleted file mode 100644 index c35fa1f..0000000 Binary files a/Hashr/dist/lib/commons-collections-3.2.1.jar and /dev/null differ diff --git a/Hashr/dist/lib/commons-csv-1.0-SNAPSHOT-r609327.jar b/Hashr/dist/lib/commons-csv-1.0-SNAPSHOT-r609327.jar deleted file mode 100644 index f80348d..0000000 Binary files a/Hashr/dist/lib/commons-csv-1.0-SNAPSHOT-r609327.jar and /dev/null differ diff --git a/Hashr/dist/lib/commons-fileupload-1.2.1.jar b/Hashr/dist/lib/commons-fileupload-1.2.1.jar deleted file mode 100644 index aa209b3..0000000 Binary files a/Hashr/dist/lib/commons-fileupload-1.2.1.jar and /dev/null differ diff --git a/Hashr/dist/lib/commons-httpclient-3.1.jar b/Hashr/dist/lib/commons-httpclient-3.1.jar deleted file mode 100644 index 7c59774..0000000 Binary files a/Hashr/dist/lib/commons-httpclient-3.1.jar and /dev/null differ diff --git a/Hashr/dist/lib/commons-io-1.4.jar b/Hashr/dist/lib/commons-io-1.4.jar deleted file mode 100644 index 133dc6c..0000000 Binary files a/Hashr/dist/lib/commons-io-1.4.jar and /dev/null differ diff --git a/Hashr/dist/lib/commons-lang-2.4.jar b/Hashr/dist/lib/commons-lang-2.4.jar deleted file mode 100644 index 532939e..0000000 Binary files a/Hashr/dist/lib/commons-lang-2.4.jar and /dev/null differ diff --git a/Hashr/dist/lib/commons-logging-1.1.jar b/Hashr/dist/lib/commons-logging-1.1.jar deleted file mode 100644 index 2ff9bbd..0000000 Binary files a/Hashr/dist/lib/commons-logging-1.1.jar and /dev/null differ diff --git a/Hashr/dist/lib/ezmorph-1.0.6.jar b/Hashr/dist/lib/ezmorph-1.0.6.jar deleted file mode 100644 index 30fad12..0000000 Binary files a/Hashr/dist/lib/ezmorph-1.0.6.jar and /dev/null differ diff --git a/Hashr/dist/lib/json-lib-2.3.jar b/Hashr/dist/lib/json-lib-2.3.jar deleted file mode 100644 index f606b12..0000000 Binary files a/Hashr/dist/lib/json-lib-2.3.jar and /dev/null differ diff --git a/Hashr/dist/lib/lucene-analyzers-2.9.1.jar b/Hashr/dist/lib/lucene-analyzers-2.9.1.jar deleted file mode 100644 index 5c79e65..0000000 Binary files a/Hashr/dist/lib/lucene-analyzers-2.9.1.jar and /dev/null differ diff --git a/Hashr/dist/lib/lucene-core-2.9.1.jar b/Hashr/dist/lib/lucene-core-2.9.1.jar deleted file mode 100644 index 7537dd2..0000000 Binary files a/Hashr/dist/lib/lucene-core-2.9.1.jar and /dev/null differ diff --git a/Hashr/dist/lib/lucene-highlighter-2.9.1.jar b/Hashr/dist/lib/lucene-highlighter-2.9.1.jar deleted file mode 100644 index cb9499b..0000000 Binary files a/Hashr/dist/lib/lucene-highlighter-2.9.1.jar and /dev/null differ diff --git a/Hashr/dist/lib/lucene-memory-2.9.1.jar b/Hashr/dist/lib/lucene-memory-2.9.1.jar deleted file mode 100644 index 985a5aa..0000000 Binary files a/Hashr/dist/lib/lucene-memory-2.9.1.jar and /dev/null differ diff --git a/Hashr/dist/lib/lucene-misc-2.9.1.jar b/Hashr/dist/lib/lucene-misc-2.9.1.jar deleted file mode 100644 index b54e686..0000000 Binary files a/Hashr/dist/lib/lucene-misc-2.9.1.jar and /dev/null differ diff --git a/Hashr/dist/lib/lucene-queries-2.9.1.jar b/Hashr/dist/lib/lucene-queries-2.9.1.jar deleted file mode 100644 index bcf5d58..0000000 Binary files a/Hashr/dist/lib/lucene-queries-2.9.1.jar and /dev/null differ diff --git a/Hashr/dist/lib/lucene-snowball-2.9.1.jar b/Hashr/dist/lib/lucene-snowball-2.9.1.jar deleted file mode 100644 index be92655..0000000 Binary files a/Hashr/dist/lib/lucene-snowball-2.9.1.jar and /dev/null differ diff --git a/Hashr/dist/lib/lucene-spellchecker-2.9.1.jar b/Hashr/dist/lib/lucene-spellchecker-2.9.1.jar deleted file mode 100644 index e8f017a..0000000 Binary files a/Hashr/dist/lib/lucene-spellchecker-2.9.1.jar and /dev/null differ diff --git a/Hashr/dist/lib/slf4j-api-1.5.5.jar b/Hashr/dist/lib/slf4j-api-1.5.5.jar deleted file mode 100644 index 4bb4abb..0000000 Binary files a/Hashr/dist/lib/slf4j-api-1.5.5.jar and /dev/null differ diff --git a/Hashr/dist/lib/slf4j-jdk14-1.5.5.jar b/Hashr/dist/lib/slf4j-jdk14-1.5.5.jar deleted file mode 100644 index d58ef5a..0000000 Binary files a/Hashr/dist/lib/slf4j-jdk14-1.5.5.jar and /dev/null differ diff --git a/Hashr/nbproject/build-impl.xml b/Hashr/nbproject/build-impl.xml deleted file mode 100644 index fe5a272..0000000 --- a/Hashr/nbproject/build-impl.xml +++ /dev/null @@ -1,908 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must set src.dir - Must set test.src.dir - Must set build.dir - Must set dist.dir - Must set build.classes.dir - Must set dist.javadoc.dir - Must set build.test.classes.dir - Must set build.test.results.dir - Must set build.classes.excludes - Must set dist.jar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must set javac.includes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select some files in the IDE or set javac.includes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To run this application from the command line without Ant, try: - - - - - - - java -cp "${run.classpath.with.dist.jar}" ${main.class} - - - - - - - - - - - - To run this application from the command line without Ant, try: - - java -jar "${dist.jar.resolved}" - - - - - - - - To run this application from the command line without Ant, try: - - java -jar "${dist.jar.resolved}" - - - - - - - - - - - - - - - - - - - Must select one file in the IDE or set run.class - - - - Must select one file in the IDE or set run.class - - - - - - - - - - - - - - - - - - - - - - - Must select one file in the IDE or set debug.class - - - - - Must select one file in the IDE or set debug.class - - - - - Must set fix.includes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select some files in the IDE or set javac.includes - - - - - - - - - - - - - - - - - - - - Some tests failed; see details above. - - - - - - - - - Must select some files in the IDE or set test.includes - - - - Some tests failed; see details above. - - - - - Must select one file in the IDE or set test.class - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select one file in the IDE or set applet.url - - - - - - - - - Must select one file in the IDE or set applet.url - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Hashr/nbproject/genfiles.properties b/Hashr/nbproject/genfiles.properties deleted file mode 100644 index b0f59d5..0000000 --- a/Hashr/nbproject/genfiles.properties +++ /dev/null @@ -1,8 +0,0 @@ -build.xml.data.CRC32=943a5b4e -build.xml.script.CRC32=ac1a482b -build.xml.stylesheet.CRC32=958a1d3e@1.35.0.45 -# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. -# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. -nbproject/build-impl.xml.data.CRC32=943a5b4e -nbproject/build-impl.xml.script.CRC32=4bffa006 -nbproject/build-impl.xml.stylesheet.CRC32=c75ce636@1.37.1.45 diff --git a/Hashr/nbproject/project.properties b/Hashr/nbproject/project.properties deleted file mode 100644 index 8f32af5..0000000 --- a/Hashr/nbproject/project.properties +++ /dev/null @@ -1,76 +0,0 @@ -annotation.processing.enabled=true -annotation.processing.enabled.in.editor=false -annotation.processing.run.all.processors=true -annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output -application.title=Hashr -application.vendor=steve -build.classes.dir=${build.dir}/classes -build.classes.excludes=**/*.java,**/*.form -# This directory is removed when the project is cleaned: -build.dir=build -build.generated.dir=${build.dir}/generated -build.generated.sources.dir=${build.dir}/generated-sources -# Only compile against the classpath explicitly listed here: -build.sysclasspath=ignore -build.test.classes.dir=${build.dir}/test/classes -build.test.results.dir=${build.dir}/test/results -# Uncomment to specify the preferred debugger connection transport: -#debug.transport=dt_socket -debug.classpath=\ - ${run.classpath} -debug.test.classpath=\ - ${run.test.classpath} -# This directory is removed when the project is cleaned: -dist.dir=dist -dist.jar=${dist.dir}/Hashr.jar -dist.javadoc.dir=${dist.dir}/javadoc -endorsed.classpath= -excludes= -includes=** -jar.compress=false -javac.classpath=\ - ${libs.Solr1.4.classpath}:\ - ${libs.Commons.classpath}:\ - ${libs.JSON.classpath}:\ - ${libs.SLF4J.classpath} -# Space-separated list of extra javac options -javac.compilerargs= -javac.deprecation=false -javac.processorpath=\ - ${javac.classpath} -javac.source=1.5 -javac.target=1.5 -javac.test.classpath=\ - ${javac.classpath}:\ - ${build.classes.dir}:\ - ${libs.junit_4.classpath} -javac.test.processorpath=\ - ${javac.test.classpath} -javadoc.additionalparam= -javadoc.author=false -javadoc.encoding=${source.encoding} -javadoc.noindex=false -javadoc.nonavbar=false -javadoc.notree=false -javadoc.private=false -javadoc.splitindex=true -javadoc.use=true -javadoc.version=false -javadoc.windowtitle= -main.class=com.echonest.knowledge.hashr.Ingest -manifest.file=manifest.mf -meta.inf.dir=${src.dir}/META-INF -platform.active=default_platform -run.classpath=\ - ${javac.classpath}:\ - ${build.classes.dir} -# Space-separated list of JVM arguments used when running the project -# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value -# or test-sys-prop.name=value to set system properties for unit tests): -run.jvmargs= -run.test.classpath=\ - ${javac.test.classpath}:\ - ${build.test.classes.dir} -source.encoding=UTF-8 -src.dir=src -test.src.dir=test diff --git a/Hashr/nbproject/project.xml b/Hashr/nbproject/project.xml deleted file mode 100644 index af1063e..0000000 --- a/Hashr/nbproject/project.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - org.netbeans.modules.java.j2seproject - - - Hashr - - - - - - - - - ../lib/nblibraries.properties - - - - diff --git a/hashr/pom.xml b/hashr/pom.xml new file mode 100644 index 0000000..17c3617 --- /dev/null +++ b/hashr/pom.xml @@ -0,0 +1,99 @@ + + 4.0.0 + + com.echonest.knowledge + hashr + 2.0 + jar + + hashr + http://maven.apache.org + + + UTF-8 + + + + + org.apache.solr + solr-core + 3.5.0 + + + org.testng + testng + 6.3.1 + + + junit + junit + 3.8.1 + test + + + + + hashr + + + org.apache.maven.plugins + maven-compiler-plugin + 2.0.2 + + 1.6 + 1.6 + + + + org.apache.maven.plugins + maven-jar-plugin + 2.3.2 + + 2.0 + + + target/classes + + + + false + src/main/resources/META-INF/manifest.mf + + + + + + + + diff --git a/hashr/readme.md b/hashr/readme.md new file mode 100644 index 0000000..b400b2f --- /dev/null +++ b/hashr/readme.md @@ -0,0 +1,6 @@ +cd Hashr2 +mvn clean package + +This will output the jar file. + +Move the jar file to solr/solr/extra-libs directory. The name of the jar doesn't matter. diff --git a/Hashr/src/com/echonest/knowledge/hashr/HashAnalyzer.java b/hashr/src/main/java/com/echonest/knowledge/hashr/HashAnalyzer.java similarity index 95% rename from Hashr/src/com/echonest/knowledge/hashr/HashAnalyzer.java rename to hashr/src/main/java/com/echonest/knowledge/hashr/HashAnalyzer.java index f75a639..0bd2bd1 100644 --- a/Hashr/src/com/echonest/knowledge/hashr/HashAnalyzer.java +++ b/hashr/src/main/java/com/echonest/knowledge/hashr/HashAnalyzer.java @@ -1,12 +1,12 @@ package com.echonest.knowledge.hashr; -import java.io.Reader; -import java.util.logging.Level; -import java.util.logging.Logger; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.WhitespaceTokenizer; +import java.io.Reader; +import java.util.logging.Logger; + /** * An analyzer for a fingerprint hash field that has the form: * diff --git a/Hashr/src/com/echonest/knowledge/hashr/HashFilter.java b/hashr/src/main/java/com/echonest/knowledge/hashr/HashFilter.java similarity index 99% rename from Hashr/src/com/echonest/knowledge/hashr/HashFilter.java rename to hashr/src/main/java/com/echonest/knowledge/hashr/HashFilter.java index 54c2a32..8ecea0e 100644 --- a/Hashr/src/com/echonest/knowledge/hashr/HashFilter.java +++ b/hashr/src/main/java/com/echonest/knowledge/hashr/HashFilter.java @@ -1,6 +1,5 @@ package com.echonest.knowledge.hashr; -import java.io.IOException; import org.apache.lucene.analysis.TokenFilter; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.tokenattributes.OffsetAttribute; @@ -8,6 +7,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.IOException; + /** * */ diff --git a/Hashr/src/com/echonest/knowledge/hashr/HashQueryComponent.java b/hashr/src/main/java/com/echonest/knowledge/hashr/HashQueryComponent.java similarity index 80% rename from Hashr/src/com/echonest/knowledge/hashr/HashQueryComponent.java rename to hashr/src/main/java/com/echonest/knowledge/hashr/HashQueryComponent.java index 1941ed0..2662250 100644 --- a/Hashr/src/com/echonest/knowledge/hashr/HashQueryComponent.java +++ b/hashr/src/main/java/com/echonest/knowledge/hashr/HashQueryComponent.java @@ -1,11 +1,11 @@ package com.echonest.knowledge.hashr; +import java.io.File; import java.io.IOException; -import java.util.Arrays; -import java.util.HashSet; -import java.util.PriorityQueue; -import java.util.Set; +import java.util.*; import java.util.logging.Logger; + +import org.apache.commons.io.FileUtils; import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.Term; import org.apache.lucene.index.TermDocs; @@ -15,7 +15,7 @@ import org.apache.solr.handler.component.ResponseBuilder; import org.apache.solr.handler.component.SearchComponent; import org.apache.solr.request.SolrQueryRequest; -import org.apache.solr.request.SolrQueryResponse; +import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.search.DocList; import org.apache.solr.search.DocSlice; import org.apache.solr.search.SolrIndexSearcher; @@ -78,16 +78,8 @@ public void process(ResponseBuilder rb) throws IOException { // // Get the terms and offsets. String[] terms = new String[half]; - int[] offsets = new int[half]; for(int i = 0, j = 0; i < qs.length; i += 2, j++) { terms[j] = qs[i]; - try { - offsets[j] = Integer.parseInt(qs[i + 1]); - } catch(NumberFormatException ex) { - throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, - String.format("Hash %s has non-integer offset %s", - qs[i], qs[i + 1])); - } } @@ -100,7 +92,7 @@ public void process(ResponseBuilder rb) throws IOException { rb.setResult(qr); rsp.add("response", rb.getResults().docList); rsp.getToLog().add("hits", rb.getResults().docList.matches()); - + SolrPluginUtils.optimizePreFetchDocs(rb.getResults().docList, rb. getQuery(), req, rsp); } @@ -161,8 +153,26 @@ private void heapCheck(PriorityQueue h, int hsize, int doc, int co * @param reader the index reader * @param queryTerms the terms we want to look up * @param rb the response builder - * @throws IOException + * @throws java.io.IOException */ + + static { + try { + arraySize = Integer.parseInt(FileUtils.readFileToString(new File("arraySize.txt"))); + } catch (IOException e) { + arraySize = 10000000; + } + } + + private static int arraySize; + + private static void increaseArraySize() throws IOException { + arraySize *= 1.2; + System.out.println("Increasing Array Size to " + arraySize); + FileUtils.writeStringToFile(new File("arraySize.txt"), arraySize + ""); + } + + private DocList eval(IndexReader reader, String[] queryTerms, ResponseBuilder rb, int rows, int start) throws IOException { int hsize = start + rows; @@ -172,52 +182,41 @@ private DocList eval(IndexReader reader, String[] queryTerms, // // Uniquify the query terms before processing to avoid multiple counts. termSet.addAll(Arrays.asList(queryTerms)); - + int[] docs = new int[32]; int[] freqs = new int[32]; - int[] alld = new int[2048]; int base = 0; - int nHits = 0; - for(IndexReader sub : reader.getSequentialSubReaders()) { - int p = 0; - for(String t : termSet) { - TermDocs td = sub.termDocs(new Term("fp", t)); - int pos = td.read(docs, freqs); - while(pos != 0) { - for(int i = 0; i < pos; i++) { - if(p >= alld.length) { - alld = Arrays.copyOf(alld, alld.length * 2); + + int[] countMap = new int[arraySize]; + + try { + for (IndexReader sub : reader.getSequentialSubReaders()) { + for (String t : termSet) { + TermDocs td = sub.termDocs(new Term("fp", t)); + int pos = td.read(docs, freqs); + while (pos != 0) { + for (int i = 0; i < pos; i++) { + countMap[docs[i] + base]++; } - alld[p++] = docs[i]; + pos = td.read(docs, freqs); } - pos = td.read(docs, freqs); + td.close(); } - td.close(); + + base += sub.maxDoc(); } + } catch (ArrayIndexOutOfBoundsException e) { + increaseArraySize(); + return eval(reader, queryTerms, rb, rows, start); + } - // - // We only need to process this sub if we got some hits. - if(p > 0) { - Arrays.sort(alld, 0, p); - int curr = alld[0]; - int count = 0; - for(int i = 0; i < p; i++) { - int doc = alld[i]; - if(doc == curr) { - count++; - } else { - nHits++; - curr += base; - heapCheck(h, hsize, curr, count); - curr = doc; - count = 1; - } - } - // - // Handle the last document that was collected. - heapCheck(h, hsize, curr+base, count); + int nHits = 0; + + for (int i = 0; i < countMap.length; i++) { + if (countMap[i] > 0){ + nHits++; + heapCheck(h, hsize, i, countMap[i]); } - base += sub.maxDoc(); } int outSize = Math.min(hsize, h.size()); diff --git a/Hashr/src/com/echonest/knowledge/hashr/Ingest.java b/hashr/src/main/java/com/echonest/knowledge/hashr/Ingest.java similarity index 99% rename from Hashr/src/com/echonest/knowledge/hashr/Ingest.java rename to hashr/src/main/java/com/echonest/knowledge/hashr/Ingest.java index a8c6d56..b235f70 100644 --- a/Hashr/src/com/echonest/knowledge/hashr/Ingest.java +++ b/hashr/src/main/java/com/echonest/knowledge/hashr/Ingest.java @@ -1,5 +1,10 @@ package com.echonest.knowledge.hashr; +import org.apache.solr.client.solrj.SolrServer; +import org.apache.solr.client.solrj.SolrServerException; +import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer; +import org.apache.solr.common.SolrInputDocument; + import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; @@ -7,10 +12,6 @@ import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; -import org.apache.solr.client.solrj.SolrServer; -import org.apache.solr.client.solrj.SolrServerException; -import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer; -import org.apache.solr.common.SolrInputDocument; /** * A class to ingest finger print files and index them using SolrJ. diff --git a/hashr/src/main/java/com/echonest/knowledge/hashr/IntIntMap.java b/hashr/src/main/java/com/echonest/knowledge/hashr/IntIntMap.java new file mode 100644 index 0000000..00d147b --- /dev/null +++ b/hashr/src/main/java/com/echonest/knowledge/hashr/IntIntMap.java @@ -0,0 +1,264 @@ +package com.echonest.knowledge.hashr; + +/** + * Same as IntIntMap4, but using interleaving int[] instead of long[] + */ +public class IntIntMap +{ + private static final int FREE_KEY = 0; + + public static final int NO_VALUE = 0; + + /** Keys and values */ + private int[] m_data; + + /** Do we have 'free' key in the map? */ + private boolean m_hasFreeKey; + /** Value of 'free' key */ + private int m_freeValue; + + /** Fill factor, must be between (0 and 1) */ + private final float m_fillFactor; + /** We will resize a map once it reaches this size */ + private int m_threshold; + /** Current map size */ + private int m_size; + + /** Mask to calculate the original position */ + private int m_mask; + private int m_mask2; + + public IntIntMap( final int size, final float fillFactor ) + { + if ( fillFactor <= 0 || fillFactor >= 1 ) + throw new IllegalArgumentException( "FillFactor must be in (0, 1)" ); + if ( size <= 0 ) + throw new IllegalArgumentException( "Size must be positive!" ); + final int capacity = Tools.arraySize(size, fillFactor); + m_mask = capacity - 1; + m_mask2 = capacity*2 - 1; + m_fillFactor = fillFactor; + + m_data = new int[capacity * 2]; + m_threshold = (int) (capacity * fillFactor); + } + + public int get( final int key ) + { + int ptr = ( Tools.phiMix( key ) & m_mask) << 1; + + if ( key == FREE_KEY ) + return m_hasFreeKey ? m_freeValue : NO_VALUE; + + int k = m_data[ ptr ]; + + if ( k == FREE_KEY ) + return NO_VALUE; //end of chain already + if ( k == key ) //we check FREE prior to this call + return m_data[ ptr + 1 ]; + + while ( true ) + { + ptr = (ptr + 2) & m_mask2; //that's next index + k = m_data[ ptr ]; + if ( k == FREE_KEY ) + return NO_VALUE; + if ( k == key ) + return m_data[ ptr + 1 ]; + } + } + + public int[] getData() { + return m_data; + } + + public int put( final int key, final int value ) + { + if ( key == FREE_KEY ) + { + final int ret = m_freeValue; + if ( !m_hasFreeKey ) + ++m_size; + m_hasFreeKey = true; + m_freeValue = value; + return ret; + } + + int ptr = ( Tools.phiMix( key ) & m_mask) << 1; + int k = m_data[ptr]; + if ( k == FREE_KEY ) //end of chain already + { + m_data[ ptr ] = key; + m_data[ ptr + 1 ] = value; + if ( m_size >= m_threshold ) + rehash( m_data.length * 2 ); //size is set inside + else + ++m_size; + return NO_VALUE; + } + else if ( k == key ) //we check FREE prior to this call + { + final int ret = m_data[ ptr + 1 ]; + m_data[ ptr + 1 ] = value; + return ret; + } + + while ( true ) + { + ptr = ( ptr + 2 ) & m_mask2; //that's next index calculation + k = m_data[ ptr ]; + if ( k == FREE_KEY ) + { + m_data[ ptr ] = key; + m_data[ ptr + 1 ] = value; + if ( m_size >= m_threshold ) + rehash( m_data.length * 2 ); //size is set inside + else + ++m_size; + return NO_VALUE; + } + else if ( k == key ) + { + final int ret = m_data[ ptr + 1 ]; + m_data[ ptr + 1 ] = value; + return ret; + } + } + } + + public void addOne( final int key ) + { + int ptr = ( Tools.phiMix( key ) & m_mask) << 1; + int k = m_data[ptr]; + if ( k == FREE_KEY ) //end of chain already + { + m_data[ ptr ] = key; + m_data[ ptr + 1 ] = 1; + if ( m_size >= m_threshold ) + rehash( m_data.length * 2 ); //size is set inside + else + ++m_size; + return; + } + else if ( k == key ) //we check FREE prior to this call + { + m_data[ ptr + 1 ]++; + return; + } + + while ( true ) + { + ptr = ( ptr + 2 ) & m_mask2; //that's next index calculation + k = m_data[ ptr ]; + if ( k == FREE_KEY ) + { + m_data[ ptr ] = key; + m_data[ ptr + 1 ] = 1; + if ( m_size >= m_threshold ) + rehash( m_data.length * 2 ); //size is set inside + else + ++m_size; + return; + } + else if ( k == key ) + { + m_data[ ptr + 1 ]++; + return; + } + } + } + + + public int remove( final int key ) + { + if ( key == FREE_KEY ) + { + if ( !m_hasFreeKey ) + return NO_VALUE; + m_hasFreeKey = false; + --m_size; + return m_freeValue; //value is not cleaned + } + + int ptr = ( Tools.phiMix( key ) & m_mask) << 1; + int k = m_data[ ptr ]; + if ( k == key ) //we check FREE prior to this call + { + final int res = m_data[ ptr + 1 ]; + shiftKeys( ptr ); + --m_size; + return res; + } + else if ( k == FREE_KEY ) + return NO_VALUE; //end of chain already + while ( true ) + { + ptr = ( ptr + 2 ) & m_mask2; //that's next index calculation + k = m_data[ ptr ]; + if ( k == key ) + { + final int res = m_data[ ptr + 1 ]; + shiftKeys( ptr ); + --m_size; + return res; + } + else if ( k == FREE_KEY ) + return NO_VALUE; + } + } + + private int shiftKeys(int pos) + { + // Shift entries with the same hash. + int last, slot; + int k; + final int[] data = this.m_data; + while ( true ) + { + pos = ((last = pos) + 2) & m_mask2; + while ( true ) + { + if ((k = data[pos]) == FREE_KEY) + { + data[last] = FREE_KEY; + return last; + } + slot = ( Tools.phiMix( k ) & m_mask) << 1; //calculate the starting slot for the current key + if (last <= pos ? last >= slot || slot > pos : last >= slot && slot > pos) break; + pos = (pos + 2) & m_mask2; //go to the next entry + } + data[last] = k; + data[last + 1] = data[pos + 1]; + } + } + + + public int size() + { + return m_size; + } + + private void rehash( final int newCapacity ) + { + m_threshold = (int) (newCapacity/2 * m_fillFactor); + m_mask = newCapacity/2 - 1; + m_mask2 = newCapacity - 1; + + final int oldCapacity = m_data.length; + final int[] oldData = m_data; + + m_data = new int[ newCapacity ]; + m_size = m_hasFreeKey ? 1 : 0; + + for ( int i = 0; i < oldCapacity; i += 2 ) { + final int oldKey = oldData[ i ]; + if( oldKey != FREE_KEY ) + put( oldKey, oldData[ i + 1 ]); + } + } + +// private int getStartIdx( final int key ) +// { +// return ( Tools.phiMix( key ) & m_mask) << 1; +// } +} diff --git a/Hashr/src/com/echonest/knowledge/hashr/JQuery.java b/hashr/src/main/java/com/echonest/knowledge/hashr/JQuery.java similarity index 99% rename from Hashr/src/com/echonest/knowledge/hashr/JQuery.java rename to hashr/src/main/java/com/echonest/knowledge/hashr/JQuery.java index 657be6f..aa2428b 100644 --- a/Hashr/src/com/echonest/knowledge/hashr/JQuery.java +++ b/hashr/src/main/java/com/echonest/knowledge/hashr/JQuery.java @@ -1,12 +1,5 @@ package com.echonest.knowledge.hashr; -import java.io.BufferedReader; -import java.io.FileReader; -import java.net.MalformedURLException; -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrServer; import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer; @@ -15,6 +8,14 @@ import org.apache.solr.common.params.CommonParams; import org.apache.solr.common.params.ModifiableSolrParams; +import java.io.BufferedReader; +import java.io.FileReader; +import java.net.MalformedURLException; +import java.util.ArrayList; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; + /** * A SolrJ query interface. */ diff --git a/hashr/src/main/java/com/echonest/knowledge/hashr/Test.java b/hashr/src/main/java/com/echonest/knowledge/hashr/Test.java new file mode 100644 index 0000000..d4d09ac --- /dev/null +++ b/hashr/src/main/java/com/echonest/knowledge/hashr/Test.java @@ -0,0 +1,36 @@ +package com.echonest.knowledge.hashr; + +import java.util.Arrays; + +/** + * Created by devstation2 on 8/19/15. + */ +public class Test { + + public static void main(String[] args) throws Exception{ + int size = 5000000; + int[] arr = new int[size]; + + while (true) { + long before = System.currentTimeMillis(); + for (int i = 0; i < 2000000000; i++) { + arr[2]++; + } + long after = System.currentTimeMillis(); + System.out.println("Elapsed 2: " + (after - before)); + Thread.sleep(1000); + + + before = System.currentTimeMillis(); + for (int i = 0; i < 2000000000; i++) { + arr[1] = arr[1] + 1; + } + after = System.currentTimeMillis(); + System.out.println("Elapsed 1: " + (after - before)); + Thread.sleep(1000); + + + } + + } +} diff --git a/hashr/src/main/java/com/echonest/knowledge/hashr/Tools.java b/hashr/src/main/java/com/echonest/knowledge/hashr/Tools.java new file mode 100644 index 0000000..0a05241 --- /dev/null +++ b/hashr/src/main/java/com/echonest/knowledge/hashr/Tools.java @@ -0,0 +1,47 @@ +package com.echonest.knowledge.hashr; + +public class Tools { + + /** Taken from FastUtil implementation */ + + /** Return the least power of two greater than or equal to the specified value. + * + *

Note that this function will return 1 when the argument is 0. + * + * @param x a long integer smaller than or equal to 262. + * @return the least power of two greater than or equal to the specified value. + */ + public static long nextPowerOfTwo( long x ) { + if ( x == 0 ) return 1; + x--; + x |= x >> 1; + x |= x >> 2; + x |= x >> 4; + x |= x >> 8; + x |= x >> 16; + return ( x | x >> 32 ) + 1; + } + + /** Returns the least power of two smaller than or equal to 230 and larger than or equal to Math.ceil( expected / f ). + * + * @param expected the expected number of elements in a hash table. + * @param f the load factor. + * @return the minimum possible size for a backing array. + * @throws IllegalArgumentException if the necessary size is larger than 230. + */ + public static int arraySize( final int expected, final float f ) { + final long s = Math.max( 2, nextPowerOfTwo( (long)Math.ceil( expected / f ) ) ); + if ( s > (1 << 30) ) throw new IllegalArgumentException( "Too large (" + expected + " expected elements with load factor " + f + ")" ); + return (int)s; + } + + //taken from FastUtil + private static final int INT_PHI = 0x9E3779B9; + + public static int phiMix( final int x ) { + final int h = x * INT_PHI; + return h ^ (h >> 16); + } + + +} \ No newline at end of file diff --git a/Hashr/manifest.mf b/hashr/src/main/resources/META-INF/manifest.mf similarity index 73% rename from Hashr/manifest.mf rename to hashr/src/main/resources/META-INF/manifest.mf index 328e8e5..9698b04 100644 --- a/Hashr/manifest.mf +++ b/hashr/src/main/resources/META-INF/manifest.mf @@ -1,3 +1,3 @@ -Manifest-Version: 1.0 +Manifest-Version: 2.0 X-COMMENT: Main-Class will be added automatically by build diff --git a/hashr/src/test/java/com/echonest/knowledge/hashr/HashQueryComponentTest.java b/hashr/src/test/java/com/echonest/knowledge/hashr/HashQueryComponentTest.java new file mode 100644 index 0000000..f3b8ade --- /dev/null +++ b/hashr/src/test/java/com/echonest/knowledge/hashr/HashQueryComponentTest.java @@ -0,0 +1,39 @@ +package com.echonest.knowledge.hashr; + +import org.testng.annotations.Test; + +/** + * @author neowulf33 + */ +public class HashQueryComponentTest { + + @Test + public void testPrepare() throws Exception { + + } + + @Test + public void testProcess() throws Exception { + + } + + @Test + public void testGetDescription() throws Exception { + + } + + @Test + public void testGetSourceId() throws Exception { + + } + + @Test + public void testGetSource() throws Exception { + + } + + @Test + public void testGetVersion() throws Exception { + + } +} diff --git a/solr/jetty/logs/std/sysout.log b/solr/jetty/logs/std/sysout.log deleted file mode 100644 index e36acab..0000000 --- a/solr/jetty/logs/std/sysout.log +++ /dev/null @@ -1,278 +0,0 @@ -2011-02-13 04:58:06.416::INFO: Logging to STDERR via org.mortbay.log.StdErrLog -2011-02-13 04:58:06.531::INFO: jetty-6.1.3 -2011-02-13 04:58:06.589::INFO: Extract jar:file:/vol/solr/webapps/solr.war!/ to /tmp/Jetty_0_0_0_0_8502_solr.war__solr__-rnc92a/webapp -Feb 13, 2011 4:58:06 AM org.apache.solr.core.SolrResourceLoader locateSolrHome -INFO: JNDI not configured for solr (NoInitialContextEx) -Feb 13, 2011 4:58:06 AM org.apache.solr.core.SolrResourceLoader locateSolrHome -INFO: using system property solr.solr.home: /vol/solr/solr/ -Feb 13, 2011 4:58:06 AM org.apache.solr.core.SolrResourceLoader -INFO: Solr home set to '/vol/solr/solr/' -Feb 13, 2011 4:58:06 AM org.apache.solr.servlet.SolrDispatchFilter init -INFO: SolrDispatchFilter.init() -Feb 13, 2011 4:58:06 AM org.apache.solr.core.SolrResourceLoader locateSolrHome -INFO: JNDI not configured for solr (NoInitialContextEx) -Feb 13, 2011 4:58:06 AM org.apache.solr.core.SolrResourceLoader locateSolrHome -INFO: using system property solr.solr.home: /vol/solr/solr/ -Feb 13, 2011 4:58:06 AM org.apache.solr.core.CoreContainer$Initializer initialize -INFO: looking for solr.xml: /vol/solr/solr/solr.xml -Feb 13, 2011 4:58:06 AM org.apache.solr.core.SolrResourceLoader locateSolrHome -INFO: JNDI not configured for solr (NoInitialContextEx) -Feb 13, 2011 4:58:06 AM org.apache.solr.core.SolrResourceLoader locateSolrHome -INFO: using system property solr.solr.home: /vol/solr/solr/ -Feb 13, 2011 4:58:06 AM org.apache.solr.core.SolrResourceLoader -INFO: Solr home set to '/vol/solr/solr/' -Feb 13, 2011 4:58:06 AM org.apache.solr.core.SolrResourceLoader -INFO: Solr home set to '/vol/solr/solr/./' -Feb 13, 2011 4:58:06 AM org.apache.solr.core.SolrConfig initLibs -INFO: Adding specified lib dirs to ClassLoader -Feb 13, 2011 4:58:06 AM org.apache.solr.core.SolrResourceLoader replaceClassLoader -INFO: Adding 'file:/vol/solr/extra-libs/Hashr.jar' to classloader -Feb 13, 2011 4:58:07 AM org.apache.solr.core.SolrConfig -INFO: Loaded SolrConfig: solrconfig.xml -Feb 13, 2011 4:58:07 AM org.apache.solr.schema.IndexSchema readSchema -INFO: Reading Solr Schema -Feb 13, 2011 4:58:07 AM org.apache.solr.schema.IndexSchema readSchema -INFO: Schema name=fingerprinter -Feb 13, 2011 4:58:07 AM org.apache.solr.util.plugin.AbstractPluginLoader load -INFO: created string: org.apache.solr.schema.StrField -Feb 13, 2011 4:58:07 AM org.apache.solr.util.plugin.AbstractPluginLoader load -INFO: created null: org.apache.solr.analysis.WhitespaceTokenizerFactory -Feb 13, 2011 4:58:07 AM org.apache.solr.util.plugin.AbstractPluginLoader load -INFO: created fphash: org.apache.solr.schema.TextField -Feb 13, 2011 4:58:07 AM org.apache.solr.schema.IndexSchema readSchema -INFO: default search field is fp -Feb 13, 2011 4:58:07 AM org.apache.solr.schema.IndexSchema readSchema -INFO: query parser default operator is OR -Feb 13, 2011 4:58:07 AM org.apache.solr.schema.IndexSchema readSchema -INFO: unique key field: track_id -Feb 13, 2011 4:58:07 AM org.apache.solr.core.SolrCore -INFO: [fp] Opening new SolrCore at /vol/solr/solr/./, dataDir=/vol/solr/data/ -Feb 13, 2011 4:58:07 AM org.apache.solr.core.JmxMonitoredMap -INFO: No JMX servers found, not exposing Solr information with JMX. -Feb 13, 2011 4:58:07 AM org.apache.solr.core.SolrCore initListeners -INFO: [fp] Added SolrEventListener: org.apache.solr.core.QuerySenderListener{queries=[]} -Feb 13, 2011 4:58:07 AM org.apache.solr.core.SolrCore initListeners -INFO: [fp] Added SolrEventListener: org.apache.solr.core.QuerySenderListener{queries=[{q=solr rocks,start=0,rows=10}, {q=static firstSearcher warming query from solrconfig.xml}]} -Feb 13, 2011 4:58:07 AM org.apache.solr.request.XSLTResponseWriter init -INFO: xsltCacheLifetimeSeconds=5 -Feb 13, 2011 4:58:07 AM org.apache.solr.core.RequestHandlers initHandlersFromConfig -INFO: created standard: solr.SearchHandler -Feb 13, 2011 4:58:07 AM org.apache.solr.core.RequestHandlers initHandlersFromConfig -INFO: created dismax: solr.SearchHandler -Feb 13, 2011 4:58:07 AM org.apache.solr.core.RequestHandlers initHandlersFromConfig -INFO: created partitioned: solr.SearchHandler -Feb 13, 2011 4:58:07 AM org.apache.solr.core.RequestHandlers initHandlersFromConfig -INFO: created /hashq: org.apache.solr.handler.component.SearchHandler -Feb 13, 2011 4:58:07 AM org.apache.solr.core.RequestHandlers initHandlersFromConfig -INFO: created /spell: solr.SearchHandler -Feb 13, 2011 4:58:07 AM org.apache.solr.core.RequestHandlers initHandlersFromConfig -INFO: created tvrh: org.apache.solr.handler.component.SearchHandler -Feb 13, 2011 4:58:07 AM org.apache.solr.core.RequestHandlers initHandlersFromConfig -INFO: adding lazy requestHandler: org.apache.solr.handler.extraction.ExtractingRequestHandler -Feb 13, 2011 4:58:07 AM org.apache.solr.core.RequestHandlers initHandlersFromConfig -INFO: created /update/extract: org.apache.solr.handler.extraction.ExtractingRequestHandler -Feb 13, 2011 4:58:07 AM org.apache.solr.core.RequestHandlers initHandlersFromConfig -INFO: created /terms: org.apache.solr.handler.component.SearchHandler -Feb 13, 2011 4:58:07 AM org.apache.solr.core.RequestHandlers initHandlersFromConfig -INFO: adding lazy requestHandler: solr.SearchHandler -Feb 13, 2011 4:58:07 AM org.apache.solr.core.RequestHandlers initHandlersFromConfig -INFO: created /elevate: solr.SearchHandler -Feb 13, 2011 4:58:07 AM org.apache.solr.core.RequestHandlers initHandlersFromConfig -INFO: created /update: solr.XmlUpdateRequestHandler -Feb 13, 2011 4:58:07 AM org.apache.solr.core.RequestHandlers initHandlersFromConfig -INFO: created /update/javabin: solr.BinaryUpdateRequestHandler -Feb 13, 2011 4:58:07 AM org.apache.solr.core.RequestHandlers initHandlersFromConfig -INFO: created /analysis/document: solr.DocumentAnalysisRequestHandler -Feb 13, 2011 4:58:07 AM org.apache.solr.core.RequestHandlers initHandlersFromConfig -INFO: created /analysis/field: solr.FieldAnalysisRequestHandler -Feb 13, 2011 4:58:07 AM org.apache.solr.core.RequestHandlers initHandlersFromConfig -INFO: adding lazy requestHandler: solr.CSVRequestHandler -Feb 13, 2011 4:58:07 AM org.apache.solr.core.RequestHandlers initHandlersFromConfig -INFO: created /update/csv: solr.CSVRequestHandler -Feb 13, 2011 4:58:07 AM org.apache.solr.core.RequestHandlers initHandlersFromConfig -INFO: created /admin/: org.apache.solr.handler.admin.AdminHandlers -Feb 13, 2011 4:58:07 AM org.apache.solr.core.RequestHandlers initHandlersFromConfig -INFO: created /admin/ping: PingRequestHandler -Feb 13, 2011 4:58:07 AM org.apache.solr.core.RequestHandlers initHandlersFromConfig -INFO: created /debug/dump: solr.DumpRequestHandler -Feb 13, 2011 4:58:07 AM org.apache.solr.search.SolrIndexSearcher -INFO: Opening Searcher@2321b59a main -Feb 13, 2011 4:58:07 AM org.apache.solr.update.DirectUpdateHandler2$CommitTracker -INFO: AutoCommit: if uncommited for 120000ms; if 1000 uncommited docs -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SpellCheckComponent inform -INFO: Initializing spell checkers -Feb 13, 2011 4:58:07 AM org.apache.solr.spelling.AbstractLuceneSpellChecker init -INFO: Using WhitespaceAnalzyer for dictionary: default -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SpellCheckComponent inform -WARNING: No queryConverter defined, using default converter -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.QueryElevationComponent inform -INFO: Loading QueryElevation from: /vol/solr/solr/./conf/elevate.xml -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.QueryComponent@154e45b3 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.FacetComponent@45c1f5b2 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.MoreLikeThisComponent@40e99ce5 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.HighlightComponent@293b9fae -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.StatsComponent@9706da8 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding debug component:org.apache.solr.handler.component.DebugComponent@342f356f -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.QueryComponent@154e45b3 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.FacetComponent@45c1f5b2 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.MoreLikeThisComponent@40e99ce5 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.HighlightComponent@293b9fae -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.StatsComponent@9706da8 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding debug component:org.apache.solr.handler.component.DebugComponent@342f356f -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.QueryComponent@154e45b3 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.FacetComponent@45c1f5b2 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.MoreLikeThisComponent@40e99ce5 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.HighlightComponent@293b9fae -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.StatsComponent@9706da8 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding debug component:org.apache.solr.handler.component.DebugComponent@342f356f -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:com.echonest.knowledge.hashr.HashQueryComponent@75d252d -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.QueryComponent@154e45b3 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.FacetComponent@45c1f5b2 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.MoreLikeThisComponent@40e99ce5 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.HighlightComponent@293b9fae -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.StatsComponent@9706da8 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.SpellCheckComponent@7433b121 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding debug component:org.apache.solr.handler.component.DebugComponent@342f356f -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.QueryComponent@154e45b3 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.FacetComponent@45c1f5b2 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.MoreLikeThisComponent@40e99ce5 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.HighlightComponent@293b9fae -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.StatsComponent@9706da8 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.TermVectorComponent@6db22920 -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding debug component:org.apache.solr.handler.component.DebugComponent@342f356f -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SearchHandler inform -INFO: Adding component:org.apache.solr.handler.component.TermsComponent@4baa2c23 -Feb 13, 2011 4:58:07 AM org.apache.solr.core.QuerySenderListener newSearcher -INFO: QuerySenderListener sending requests to Searcher@2321b59a main -Feb 13, 2011 4:58:07 AM org.apache.solr.core.CoreContainer register -INFO: registering core: fp -Feb 13, 2011 4:58:07 AM org.apache.solr.servlet.SolrDispatchFilter init -INFO: user.dir=/vol/solr -Feb 13, 2011 4:58:07 AM org.apache.solr.servlet.SolrDispatchFilter init -INFO: SolrDispatchFilter.init() done -Feb 13, 2011 4:58:07 AM org.apache.solr.servlet.SolrServlet init -INFO: SolrServlet.init() -Feb 13, 2011 4:58:07 AM org.apache.solr.core.SolrResourceLoader locateSolrHome -INFO: JNDI not configured for solr (NoInitialContextEx) -Feb 13, 2011 4:58:07 AM org.apache.solr.core.SolrResourceLoader locateSolrHome -INFO: using system property solr.solr.home: /vol/solr/solr/ -Feb 13, 2011 4:58:07 AM org.apache.solr.servlet.SolrServlet init -INFO: SolrServlet.init() done -Feb 13, 2011 4:58:07 AM org.apache.solr.core.SolrResourceLoader locateSolrHome -INFO: JNDI not configured for solr (NoInitialContextEx) -Feb 13, 2011 4:58:07 AM org.apache.solr.core.SolrResourceLoader locateSolrHome -INFO: using system property solr.solr.home: /vol/solr/solr/ -Feb 13, 2011 4:58:07 AM org.apache.solr.servlet.SolrUpdateServlet init -INFO: SolrUpdateServlet.init() done -Feb 13, 2011 4:58:07 AM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=null path=null params={start=0&event=firstSearcher&q=solr+rocks&rows=10} hits=0 status=0 QTime=65 -Feb 13, 2011 4:58:07 AM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=null path=null params={event=firstSearcher&q=static+firstSearcher+warming+query+from+solrconfig.xml} hits=0 status=0 QTime=1 -Feb 13, 2011 4:58:07 AM org.apache.solr.core.QuerySenderListener newSearcher -INFO: QuerySenderListener done. -Feb 13, 2011 4:58:07 AM org.apache.solr.handler.component.SpellCheckComponent$SpellCheckerListener newSearcher -INFO: Loading spell index for spellchecker: default -2011-02-13 04:58:07.756::INFO: Started SelectChannelConnector @ 0.0.0.0:8502 -Feb 13, 2011 4:58:07 AM org.apache.solr.core.SolrCore registerSearcher -INFO: [fp] Registered new searcher Searcher@2321b59a main -Feb 13, 2011 4:58:20 AM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=655494+10036+611723+10036+125714+10036+989503+10036+1009116+10036+756240+10088+1046986+10088+224762+10088+214787+10088+763464+10088+739495+10140+209800+10140+397669+10140+555502+10140+480524+10140+793796+10400+347496+10400+262043+10452+30611+10452+800729+10556+138346+10556+873624+10660+1038967+10660+152574+10660+219782+10660+835701+10660+758187+11180+372025+11180+505390+11180+981415+11180+958218+11180+221334+11648+958836+11648+615493+11648+527462+11648+158963+11648+567201+11700+513861+11700+1005152+12168+548989+12168+468646+12168+302308+12168+91718+12168+626090+12688+328218+12688+773449+12688+519934+12688+493307+12688+748207+13000+399269+13000+1037302+13208+821661+13208+918617+13208+452085+13208+116781+13208+719282+13728+638468+13728+983464+13728+458803+13728+484378+14040+125714+14092+173775+14196+235901+14196+674810+14248+146992+14248+372584+14248+978686+14248+346780+14248+674398+14612+758255+14664+595309+14664+349849+14768+182815+14768+1038967+14768+556545+14768+342089+14768+748207+15080+234233+15288+747437+15288+859460+15288+865075+15288+773621+15288+962271+15756+466641+15756+254563+15756+186919+15808+40760+16276+489463+16276+147306+16276+217291+16276+929997+16276+908602+16796+973834+16796+862197+16796+102033+16796+143914+17316+213264+17316+14832+17316+1010775+17316+1040848+17316+916469+17836+272099+17836+382229+17836+845175+17836+97046+17836+557541+17888+68044+18304+948538+18356+22739+18356+924639+18356+249606+18356+904489+18356+1027755+18876+962569+18876+523212+18876+742119+18876+865460+19136+800729+19240+258768+19344+422371+19396+597181+19396+207570+19396+1004127+19396+517491+19396+775119+19864+416069+19864+16469+19864+401567+19864+718802+19916+168649+19916+300835+20332+632865+20384+997135+20384+957250+20384+776225+20384+406995+20384+863562+20748+61069+20904+790303+20904+308451+20904+232766+20904+597868+20904+748207+21216+396004+21424+555588+21424+387785+21424+865075+21424+985452+21424+182815+21944+719282+21944+395535+21944+77228+21944+61017+21944+461102+22204+79433+22308+125714+22360+368816+22360+387619+22464+149632+22464+396595+22464+222516+22464+661742+22464+133636+22984+213231+22984+21805+22984+5855+22984+233694+23348+590486+23504+737624+23504+759057+23504+438465+23504+222726+23504+77881+23972+961470+23972+47652+24024+679564+24024+920333+24024+939717+24336+220310+24492+1030481+24492+656839+24492+191242+24492+985452+24492+384977+25012+466565+25012+719282+25012+106682+25012+184635+25064+18298+25064+807005+25376+243373+25532+1010323+25532+961977+25532+1042157+25532+346780+25532+889243+26052+88126+26052+716551+26052+931973+26052+334324+26052+1022508+26364+523264+26364+290+26572+406146+26572+68821+26572+581343+26572+624400+26572+870059+27040+960666+27040+849452+27040+980149+27092+97053+27092+479435+27456+280661+27560+855+27560+71645+27560+432952+27560+229631+27612+258587+27612+995100+28080+616047+28080+656521+28080+224735+28080+930374+28080+590461+28132+531213+28132+79433+28444+125714+28496+677946+28600+223724+28600+615770+28600+464039+28600+1028694+28600+591325+29068+781939+29068+89082+29120+380661+29120+227077+29484+705781+29640+308706+29640+1008064+29640+1042157+29640+346780+29640+211162+29900&qt=/hashq&wt=standard&rows=10&version=2.2} hits=124211 status=0 QTime=347 -Feb 13, 2011 5:08:46 AM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=266849+52+62941+52+657957+52+376045+52+703307+52+284241+104+537612+104+877526+104+819813+104+524385+104+169744+156+338337+156+878865+156+158412+156+900867+156+1041669+208+89488+208+822196+208+386446+208+212429+260+183861+260+890176+312+488480+364+729055+416+101179+416+423115+416+101479+416+256668+416+726691+676+274964+884+948457+936+708541+936+1034248+936+251807+988+525060+988+341516+988+85480+1040+21183+1040+638670+1040+483413+1092+1041142+1144+664949+1300+331979+1300+657026+1300+641511+1352+569388+1352+778041+1404+346145+1404+974502+1404+770399+1404+234267+1404+336973+1456+702592+1456+646975+1456+613963+1508+57519+1560+316825+1560+905786+1560+588897+1612+390248+1612+30651+1612+549690+1612+39362+1612+757265+1872+775013+1872+832415+2080+960834+2080+960849+2080+613154+2080+608273+2080+13471+2288+296915+2392+149296+2392+85480+2496+821399+2496+181109+2548+343788+2548+71949+2600+174890+2600+517176+2652+721438+3120+298088+3172+96111+3172+397245+3224+935809+3276+433349+3276+937504+3328+454694+3328+536621+3380+76712+3380+156782+3484+10543+3536+459698+3536+26962+3640+25583+3744+153890+3744+158320+3744+706047+3744+498+3848+324652+3848+103861+3952+240149+3952+847108+3952+187359+3952+680729+3952+869131+4212+221160+4212+1027741+5044+675065+5044+667781+5096+945451+5096+550391+5148+866316+5148+532168+5148+676985+5200+438045+5200+753940+5200+81181+5252+151960+5772+679078+5824+490211+5876+9188+5980+585440+6032+111269+6032+955090+6084+198263+6084+301373+6084+228003+6084+580822+6188+562972+6188+746155+6240+669092+6240+684059+6240+414721+6292+149899+6344+633083+6344+774683+6448+558077+6500+5766+6656+976975+6656+412335+6656+847018+6708+876572+6708+582924+6864+695318+6864+614890+6968+802840+7020+45866+7020+978270+7072+790484+7228+753338+7280+19662+7280+953919+7280+149011+7332+104349+7332+307302+7540+257473+7644+663280+7644+96164+7748+193160+7800+908903+7956+298167+7956+234963+8008+806202+8216+108640+8216+609640+8320+493813+8320+620558+8320+408467+8528+432451+8528+511571+8580+951367+8580+459463+8632+709269+8632+424915+8632+497915+8684+765070+8788+796345+8788+966436+8788+871590+9100+652321+9100+566755+9256+758001+9308+326555+9308+278423+9308+139339+9360+979553+9360+402973+9620+136183+9672+176535+9672+563641+9724+769452+9724+608674+9776+253319+9984+394623+9984+519891+9984+5488+10348+777748+10348+196605+10400+593991+10400+979553+10400+899140+10712+255396+10764+1013668+10816+329221+10816+724284+11024+835086+11024+11434+11128+541442+11336+600455+11388+147749+11388+713774+11388+541514+11440+2142+11440+601485+11544+443345+11700+392948+11700+942449+11752+444676+11752+210078+11804+436235+11804+733268+12116+24063+12324+314845+12324+981545+12324+432451+12324+152958+12324+648553+12376+951367+12376+228224+12376+609479+12532+822838+12532+596817+13364+911429+13364+1036232+13728+724468+13728+799348+13884+766860+13884+355708+13884+884367+13884+773075+13884+583536+13936+344044+13936+687927+14248+137174+14248+438347+14248+853686+14300+600090+14300+955118+14352+281566+14352+265491+14352+260080+14404+886788+14404+45074+14612+566662+14612+385106+14612+1017484+14612+482042+14820+869785+14820+393472+14820+139575+14820+958903+14820+48465+15080+514602+15288+502775+15288+523979+15288+180961+15756+111489+15756+374670+15756+657709+15756+110197+16224+793097+16224+294785+16224+592788+16744+275607+16744+41582+16744+761690+16952+263955+17004+170838+17160+1036638+17160+514549+17160+781377+17212+249826+17680+258552+17680+601770+17680+759063+17680+976351+18096+236517+18096+293051+18148+931742+18148+859762+18616+551250+18616+615294+18616+76259+18616+233354+19084+668673+19084+42788+19084+380645+19084+857390+19552+335027+19552+14116+19552+111372+19552&qt=/hashq&wt=standard&rows=10&version=2.2} hits=128342 status=0 QTime=455 -Feb 13, 2011 5:10:39 AM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=384974+52+130325+52+454133+52+110508+52+760503+52+351807+104+282643+104+825454+104+844485+156+627297+156+696454+156+847458+156+26782+156+139339+208+421255+208+911757+208+284942+208+27998+208+1012810+260+999652+260+511033+312+529022+312+873788+312+536916+312+167316+312+14698+364+139339+364+979553+364+494162+364+464576+364+470436+624+538629+624+543344+624+45436+624+382861+624+986550+676+156154+676+849047+728+393603+988+953608+1040+662655+1040+1012355+1040+690330+1040+561246+1144+192908+1144+261575+1144+932195+1144+16573+1196+619327+1196+166779+1456+908949+1508+537089+1560+820918+1560+355136+1560+391243+1612+696794+1716+44185+1716+527461+1768+472031+1768+809904+1820+938504+1872+600043+1872+1036346+1976+993364+1976+984979+2028+608775+2028+526823+2080+679478+2080+853942+2184+898721+2184+85083+2288+924355+2340+1033137+2340+218110+2340+929525+2340+539934+2496+383423+2548+100703+2548+708393+2548+36990+2600+564559+2600+482060+2600+920276+2808+798142+3900+216269+3900+528588+3952+255761+3952+131540+3952+910818+4004+139339+4004+255074+4004+49188+4004+139339+4056+924787+4056+811160+4056+505591+4316+811358+4316+654399+4316+321277+4316+501503+4368+728070+4368+240989+4368+899060+4368+954077+4420+660458+4472+81756+4524+176861+4680+34488+4732+874938+4732+620900+4732+143715+4732+638703+4732+166450+4784+362379+4784+732528+4836+114410+4836+865130+5148+508922+5148+984918+5148+976614+5200+595248+5200+247962+5304+781392+5304+486381+5304+926842+5356+394189+5356+859789+5356+323830+5928+139339+5980+478439+5980+316590+6032+153908+7124+818635+7176+308362+7228+479128+7280+246005+7332+349586+7332+643305+7332+122130+7384+608141+7384+685853+7384+920630+7384+162668+7384+64449+7436+929328+7436+499168+7436+764083+7436+285342+7436+139339+7488+466234+7488+611448+7488+533269+7488+176260+7488+149526+7540+705292+7540+859384+7540+1032968+7540+114033+7592+699009+7592+12381+7592+355163+7592+319595+7644+276248+7644+691512+7644+598264+7644+88262+7644+975835+7696+36917+7696+860381+7696+514286+7696+340383+7748+168207+7748+988196+7748+787501+7800+771537+7852+99792+7904+928136+7904+821487+8008+757955+8060+244131+8060+418500+8112+837329+8268+650319+8268+779201+8268+641218+8372+958412+8372+778234+8476+155466+8528+746693+8528+19375+8580+715096+8580+628855+8580+95536+8632+124567+8632+156342+8632+791928+8684+441281+8684+885783+8684+925061+8736+75468+8788+155986+8788+105742+8840+639121+8840+1042127+8892+398579+8892+24639+8944+154371+8944+453155+8944+879592+8944+879978+8944+894026+9048+857154+9048+313938+9152+1029075+9516+853333+9568+744293+9568+929336+9620+592348+9620+28845+9672+494440+9672+923920+9724+344315+9776+626155+9828+651444+9828+888495+9828+592348+9880+704898+9932+973293+9932+487750+9932+551426+9984+855173+9984+650510+10036+819952+10036+104381+10088+354556+10140+481566+10140+548480+10764+424504+11180+258650+11180+20603+11180+855214+11180+155852+11180+166506+11232+905438+11232+320742+11284+467399+11544+575302+11596+737327+11596+313829+11596+268238+11596+677295+11596+1035607+11908+772236+11908+273675+11960+389857+11960+681366+12012+979179+12064+558133+12064+452869+12116+243191+12116+495727+12116+173251+12116+285556+12220+579911+12220+172144+12324+676377+12324+257252+12324+123927+12376+797754+12376+940792+12428+141827+12428+530318+12480+198766+12532+172659+12532+600173+12584+799401+12636+668389+12636+619102+13260+447877+13468+981583+13624+919949+13676+433189+14144+1016267+14352+788717+14456+838151+14508+531878+14612+921564+14768+259785+14820+866292+14820+1004145+14820+284710+14820+532266+14820+577799+14872+512991+14872+353421+14872+479073+14872+762349+14872+34830+14924+479073+14924+718849+14924+26809+14924+539086+14924+180289+14976+696878+14976+514502+14976+882790+15028+891674+15028+201637+15288+389201+15288+371729+15288+1013089+15288+184407+15288+523877+15340+120289+15340+505557+15340+813278+15548+910025+15652+222167+15704+682965+15704+492951+15704+863942+15756+996031+15808+423085+15808+549368+15860+667771+15912+549368+15912+23569+15964+239232+16016+337482+16016+582927+16016+614710+16120+466234+16120+965409+16120+195300+16120+836181+16172+690672+16172+281901+16172+754632+16224+566806+16328+875290+16432+549271+16484+459063+16588+461791+16640+58706+16640+302034+16640+873333+16796+1034270+16848+392914+16900+349317+16900+617638+16952+874577+17004+309626+17056+522550+17056+970337+17108+571665+17108+53629+17160+327522+17160+147777+17264+1009700+17264+748965+18044+21085+18096+202102+18304+451294+18304+516363+18304+882904+18304+981933+18304+212491+18356+124768+18356+182867+18356+875598+18408+95857+18408+615802+18460+103863+18460+278853+18460+639107+18512+994931+18876+1026674+18928+593767+19084+713934+19188+29604+19240+112696+19240+928136+19292+838111+19292+154371+19292+274716+19292+978235+19292+332676+19708+779463+19708+200541+19708+837653+19708+670379+19760+1041650+19916+979446+19916+119025+19968+494440+19968&qt=/hashq&wt=standard&rows=10&version=2.2} hits=128734 status=0 QTime=303 -Feb 13, 2011 5:11:24 AM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=634071+52+236176+52+950382+52+67177+52+247139+52+550130+104+906558+104+655476+104+861235+104+9422+104+125714+156+873213+156+472591+156+291466+156+36393+156+971905+260+451976+364+132482+364+29511+364+1042912+416+810013+520+1011811+520+56+520+844485+572+429032+572+810068+572+844485+624+882059+624+844485+676+882059+676+62578+676+192111+728+844485+728+882059+728+844485+780+205275+780+1030065+780+226887+780+228369+780+649065+832+479912+832+803039+832+305221+832+163255+1248+889366+1248+343002+1248+435555+1300+922430+1300+204789+1456+128878+1456+240379+1716+565787+1716+906045+1716+848033+1716+319343+1716+750980+1768+267223+1768+926884+1768+44166+1820+764993+1820+521441+2028+226271+2028+841419+2028+806762+2080+941813+2080+122696+2080+511571+2080+627875+2340+144514+2340+515408+2704+403667+2704+3852+2704+366697+2704+559052+2704+826824+3276+114623+3276+714083+3276+286071+3276+53237+3276+632447+3744+906447+3744+737747+3848+665443+3848+632894+3900+923729+3900+848267+3900+637263+3900+850731+3900+226271+4108+937446+4212+546845+4264+1000340+4524+3921+4524+216848+4524+335123+4576+42563+5148+971649+5148+919416+5148+726296+5148+649761+5148+693719+5772+579732+5772+569669+5772+58275+5824+122316+5824+343177+5824+13068+5824+922353+5928+860639+5928+574117+6136+1047768+6292+283567+6292+407204+6448+265940+6448+676880+6448+609172+6708+163504+6708+416073+6708+453837+6708+640474+6760+395941+6760+926884+6760+926884+6812+605547+6812+992712+6812+567964+7020+638610+7020+119157+7072+647287+7072+672720+7072+537619+7384+129366+7696+647319+7696+470407+7696+413214+7696+511571+7748+763020+7748+6251+8164+724877+8320+908729+8320+155058+8320+150645+8320+944774+8320+998016+8632+327585+8632+250349+8788+260664+8944+637263+8944+413518+8944+722054+9204+163504+9204+651133+9204+926884+9256+368775+9516+653+9516+378466+9516+613862+9516+286330+9516+1003191+9568+250406+9568+250975+9620+319197+9880+182708+9932+266476+10140+731859+10140+135005+10140+639677+10140+861250+10140+809939+10764+806885+10764+569997+10764+491013+10764+150645+10764+861945+10816+253296+11232+736611+11232+588729+11440+298574+11700+423523+11700+1001306+11700+544271+11700+437952+11700+1037254+11752+242195+11752+646314+11752+953123+11804+511571+11804+521623+11856+521623+11908+48247+11908+787865+11960+213268+12012+362418+12012+648887+12012+378466+12012+843342+12012+362061+12064+18189+12064+839580+12636+666783+12636+170696+12636+135005+12636+247420+12636+767517+12688+260463+12688+260463+12740+79959+12740+770927+13260+348120+13312+821570+13312+990629+13312+178808+13312+1017930+13312+691035+13780+250349+13780+83330+13780+637263+13936+780902+13936+567597+13936+540197+13936+761865+14248+354118+14248+859133+14248+993674+14560+944383+14560+499755+14560+310933+14560+695945+14560+571637+14872+162217+15184+178573+15184+216410+15184+730818+15184+704349+15496+101046+15548+929861+15548+133348+15548+671270+15808+756166+15808+661344+15808+203143+16328+8925+16328+615882+16484+616599+16484+574458+16484+1001306+16796+306596+16796+774535+16848+3745+16952+127090+17108+779643+17108+890805+17108+378466+17108+790655+17108+781602+17732+135005+17732+483825+17732+803214+18044+521612+18044+605547+18096+629499+18096+348287+18096+1015916+18356+648073+18356+3782+18356+777314+18356+150645+18356+572583+18876+806610+18876+42849+19032+833194+19032+787056+19032+795592+19032+605547+19084+193439+19084+456415+19084+605547+19136+694658+19188+541089+19188+992541+19240+78854+19240+528237+19240+255877+19344+615963+19344+1014245+19656+92942+19656+940715+19656+615391+19656&qt=/hashq&wt=standard&rows=10&version=2.2} hits=128536 status=0 QTime=300 -Feb 13, 2011 5:27:14 AM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=655494+10036+611723+10036+125714+10036+989503+10036+1009116+10036+756240+10088+1046986+10088+224762+10088+214787+10088+763464+10088+739495+10140+209800+10140+397669+10140+555502+10140+480524+10140+793796+10400+347496+10400+262043+10452+30611+10452+800729+10556+138346+10556+873624+10660+1038967+10660+152574+10660+219782+10660+835701+10660+758187+11180+372025+11180+505390+11180+981415+11180+958218+11180+221334+11648+958836+11648+615493+11648+527462+11648+158963+11648+567201+11700+513861+11700+1005152+12168+548989+12168+468646+12168+302308+12168+91718+12168+626090+12688+328218+12688+773449+12688+519934+12688+493307+12688+748207+13000+399269+13000+1037302+13208+821661+13208+918617+13208+452085+13208+116781+13208+719282+13728+638468+13728+983464+13728+458803+13728+484378+14040+125714+14092+173775+14196+235901+14196+674810+14248+146992+14248+372584+14248+978686+14248+346780+14248+674398+14612+758255+14664+595309+14664+349849+14768+182815+14768+1038967+14768+556545+14768+342089+14768+748207+15080+234233+15288+747437+15288+859460+15288+865075+15288+773621+15288+962271+15756+466641+15756+254563+15756+186919+15808+40760+16276+489463+16276+147306+16276+217291+16276+929997+16276+908602+16796+973834+16796+862197+16796+102033+16796+143914+17316+213264+17316+14832+17316+1010775+17316+1040848+17316+916469+17836+272099+17836+382229+17836+845175+17836+97046+17836+557541+17888+68044+18304+948538+18356+22739+18356+924639+18356+249606+18356+904489+18356+1027755+18876+962569+18876+523212+18876+742119+18876+865460+19136+800729+19240+258768+19344+422371+19396+597181+19396+207570+19396+1004127+19396+517491+19396+775119+19864+416069+19864+16469+19864+401567+19864+718802+19916+168649+19916+300835+20332+632865+20384+997135+20384+957250+20384+776225+20384+406995+20384+863562+20748+61069+20904+790303+20904+308451+20904+232766+20904+597868+20904+748207+21216+396004+21424+555588+21424+387785+21424+865075+21424+985452+21424+182815+21944+719282+21944+395535+21944+77228+21944+61017+21944+461102+22204+79433+22308+125714+22360+368816+22360+387619+22464+149632+22464+396595+22464+222516+22464+661742+22464+133636+22984+213231+22984+21805+22984+5855+22984+233694+23348+590486+23504+737624+23504+759057+23504+438465+23504+222726+23504+77881+23972+961470+23972+47652+24024+679564+24024+920333+24024+939717+24336+220310+24492+1030481+24492+656839+24492+191242+24492+985452+24492+384977+25012+466565+25012+719282+25012+106682+25012+184635+25064+18298+25064+807005+25376+243373+25532+1010323+25532+961977+25532+1042157+25532+346780+25532+889243+26052+88126+26052+716551+26052+931973+26052+334324+26052+1022508+26364+523264+26364+290+26572+406146+26572+68821+26572+581343+26572+624400+26572+870059+27040+960666+27040+849452+27040+980149+27092+97053+27092+479435+27456+280661+27560+855+27560+71645+27560+432952+27560+229631+27612+258587+27612+995100+28080+616047+28080+656521+28080+224735+28080+930374+28080+590461+28132+531213+28132+79433+28444+125714+28496+677946+28600+223724+28600+615770+28600+464039+28600+1028694+28600+591325+29068+781939+29068+89082+29120+380661+29120+227077+29484+705781+29640+308706+29640+1008064+29640+1042157+29640+346780+29640+211162+29900&qt=/hashq&wt=standard&rows=10&version=2.2} hits=124211 status=0 QTime=124 -Feb 13, 2011 1:38:27 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=266849+52+62941+52+657957+52+376045+52+703307+52+284241+104+537612+104+877526+104+819813+104+524385+104+169744+156+338337+156+878865+156+158412+156+900867+156+1041669+208+89488+208+822196+208+386446+208+212429+260+183861+260+890176+312+488480+364+729055+416+101179+416+423115+416+101479+416+256668+416+726691+676+274964+884+948457+936+708541+936+1034248+936+251807+988+525060+988+341516+988+85480+1040+21183+1040+638670+1040+483413+1092+1041142+1144+664949+1300+331979+1300+657026+1300+641511+1352+569388+1352+778041+1404+346145+1404+974502+1404+770399+1404+234267+1404+336973+1456+702592+1456+646975+1456+613963+1508+57519+1560+316825+1560+905786+1560+588897+1612+390248+1612+30651+1612+549690+1612+39362+1612+757265+1872+775013+1872+832415+2080+960834+2080+960849+2080+613154+2080+608273+2080+13471+2288+296915+2392+149296+2392+85480+2496+821399+2496+181109+2548+343788+2548+71949+2600+174890+2600+517176+2652+721438+3120+298088+3172+96111+3172+397245+3224+935809+3276+433349+3276+937504+3328+454694+3328+536621+3380+76712+3380+156782+3484+10543+3536+459698+3536+26962+3640+25583+3744+153890+3744+158320+3744+706047+3744+498+3848+324652+3848+103861+3952+240149+3952+847108+3952+187359+3952+680729+3952+869131+4212+221160+4212+1027741+5044+675065+5044+667781+5096+945451+5096+550391+5148+866316+5148+532168+5148+676985+5200+438045+5200+753940+5200+81181+5252+151960+5772+679078+5824+490211+5876+9188+5980+585440+6032+111269+6032+955090+6084+198263+6084+301373+6084+228003+6084+580822+6188+562972+6188+746155+6240+669092+6240+684059+6240+414721+6292+149899+6344+633083+6344+774683+6448+558077+6500+5766+6656+976975+6656+412335+6656+847018+6708+876572+6708+582924+6864+695318+6864+614890+6968+802840+7020+45866+7020+978270+7072+790484+7228+753338+7280+19662+7280+953919+7280+149011+7332+104349+7332+307302+7540+257473+7644+663280+7644+96164+7748+193160+7800+908903+7956+298167+7956+234963+8008+806202+8216+108640+8216+609640+8320+493813+8320+620558+8320+408467+8528+432451+8528+511571+8580+951367+8580+459463+8632+709269+8632+424915+8632+497915+8684+765070+8788+796345+8788+966436+8788+871590+9100+652321+9100+566755+9256+758001+9308+326555+9308+278423+9308+139339+9360+979553+9360+402973+9620+136183+9672+176535+9672+563641+9724+769452+9724+608674+9776+253319+9984+394623+9984+519891+9984+5488+10348+777748+10348+196605+10400+593991+10400+979553+10400+899140+10712+255396+10764+1013668+10816+329221+10816+724284+11024+835086+11024+11434+11128+541442+11336+600455+11388+147749+11388+713774+11388+541514+11440+2142+11440+601485+11544+443345+11700+392948+11700+942449+11752+444676+11752+210078+11804+436235+11804+733268+12116+24063+12324+314845+12324+981545+12324+432451+12324+152958+12324+648553+12376+951367+12376+228224+12376+609479+12532+822838+12532+596817+13364+911429+13364+1036232+13728+724468+13728+799348+13884+766860+13884+355708+13884+884367+13884+773075+13884+583536+13936+344044+13936+687927+14248+137174+14248+438347+14248+853686+14300+600090+14300+955118+14352+281566+14352+265491+14352+260080+14404+886788+14404+45074+14612+566662+14612+385106+14612+1017484+14612+482042+14820+869785+14820+393472+14820+139575+14820+958903+14820+48465+15080+514602+15288+502775+15288+523979+15288+180961+15756+111489+15756+374670+15756+657709+15756+110197+16224+793097+16224+294785+16224+592788+16744+275607+16744+41582+16744+761690+16952+263955+17004+170838+17160+1036638+17160+514549+17160+781377+17212+249826+17680+258552+17680+601770+17680+759063+17680+976351+18096+236517+18096+293051+18148+931742+18148+859762+18616+551250+18616+615294+18616+76259+18616+233354+19084+668673+19084+42788+19084+380645+19084+857390+19552+335027+19552+14116+19552+111372+19552&qt=/hashq&wt=standard&rows=10&version=2.2} hits=128342 status=0 QTime=231 -Feb 13, 2011 3:06:19 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=266849+52+62941+52+657957+52+376045+52+703307+52+284241+104+537612+104+877526+104+819813+104+524385+104+169744+156+338337+156+878865+156+158412+156+900867+156+1041669+208+89488+208+822196+208+386446+208+212429+260+183861+260+890176+312+488480+364+729055+416+101179+416+423115+416+101479+416+256668+416+726691+676+274964+884+948457+936+708541+936+1034248+936+251807+988+525060+988+341516+988+85480+1040+21183+1040+638670+1040+483413+1092+1041142+1144+664949+1300+331979+1300+657026+1300+641511+1352+569388+1352+778041+1404+346145+1404+974502+1404+770399+1404+234267+1404+336973+1456+702592+1456+646975+1456+613963+1508+57519+1560+316825+1560+905786+1560+588897+1612+390248+1612+30651+1612+549690+1612+39362+1612+757265+1872+775013+1872+832415+2080+960834+2080+960849+2080+613154+2080+608273+2080+13471+2288+296915+2392+149296+2392+85480+2496+821399+2496+181109+2548+343788+2548+71949+2600+174890+2600+517176+2652+721438+3120+298088+3172+96111+3172+397245+3224+935809+3276+433349+3276+937504+3328+454694+3328+536621+3380+76712+3380+156782+3484+10543+3536+459698+3536+26962+3640+25583+3744+153890+3744+158320+3744+706047+3744+498+3848+324652+3848+103861+3952+240149+3952+847108+3952+187359+3952+680729+3952+869131+4212+221160+4212+1027741+5044+675065+5044+667781+5096+945451+5096+550391+5148+866316+5148+532168+5148+676985+5200+438045+5200+753940+5200+81181+5252+151960+5772+679078+5824+490211+5876+9188+5980+585440+6032+111269+6032+955090+6084+198263+6084+301373+6084+228003+6084+580822+6188+562972+6188+746155+6240+669092+6240+684059+6240+414721+6292+149899+6344+633083+6344+774683+6448+558077+6500+5766+6656+976975+6656+412335+6656+847018+6708+876572+6708+582924+6864+695318+6864+614890+6968+802840+7020+45866+7020+978270+7072+790484+7228+753338+7280+19662+7280+953919+7280+149011+7332+104349+7332+307302+7540+257473+7644+663280+7644+96164+7748+193160+7800+908903+7956+298167+7956+234963+8008+806202+8216+108640+8216+609640+8320+493813+8320+620558+8320+408467+8528+432451+8528+511571+8580+951367+8580+459463+8632+709269+8632+424915+8632+497915+8684+765070+8788+796345+8788+966436+8788+871590+9100+652321+9100+566755+9256+758001+9308+326555+9308+278423+9308+139339+9360+979553+9360+402973+9620+136183+9672+176535+9672+563641+9724+769452+9724+608674+9776+253319+9984+394623+9984+519891+9984+5488+10348+777748+10348+196605+10400+593991+10400+979553+10400+899140+10712+255396+10764+1013668+10816+329221+10816+724284+11024+835086+11024+11434+11128+541442+11336+600455+11388+147749+11388+713774+11388+541514+11440+2142+11440+601485+11544+443345+11700+392948+11700+942449+11752+444676+11752+210078+11804+436235+11804+733268+12116+24063+12324+314845+12324+981545+12324+432451+12324+152958+12324+648553+12376+951367+12376+228224+12376+609479+12532+822838+12532+596817+13364+911429+13364+1036232+13728+724468+13728+799348+13884+766860+13884+355708+13884+884367+13884+773075+13884+583536+13936+344044+13936+687927+14248+137174+14248+438347+14248+853686+14300+600090+14300+955118+14352+281566+14352+265491+14352+260080+14404+886788+14404+45074+14612+566662+14612+385106+14612+1017484+14612+482042+14820+869785+14820+393472+14820+139575+14820+958903+14820+48465+15080+514602+15288+502775+15288+523979+15288+180961+15756+111489+15756+374670+15756+657709+15756+110197+16224+793097+16224+294785+16224+592788+16744+275607+16744+41582+16744+761690+16952+263955+17004+170838+17160+1036638+17160+514549+17160+781377+17212+249826+17680+258552+17680+601770+17680+759063+17680+976351+18096+236517+18096+293051+18148+931742+18148+859762+18616+551250+18616+615294+18616+76259+18616+233354+19084+668673+19084+42788+19084+380645+19084+857390+19552+335027+19552+14116+19552+111372+19552&qt=/hashq&wt=standard&rows=10&version=2.2} hits=128342 status=0 QTime=204 -Feb 13, 2011 3:31:05 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=266849+52+62941+52+657957+52+376045+52+703307+52+284241+104+537612+104+877526+104+819813+104+524385+104+169744+156+338337+156+878865+156+158412+156+900867+156+1041669+208+89488+208+822196+208+386446+208+212429+260+183861+260+890176+312+488480+364+729055+416+101179+416+423115+416+101479+416+256668+416+726691+676+274964+884+948457+936+708541+936+1034248+936+251807+988+525060+988+341516+988+85480+1040+21183+1040+638670+1040+483413+1092+1041142+1144+664949+1300+331979+1300+657026+1300+641511+1352+569388+1352+778041+1404+346145+1404+974502+1404+770399+1404+234267+1404+336973+1456+702592+1456+646975+1456+613963+1508+57519+1560+316825+1560+905786+1560+588897+1612+390248+1612+30651+1612+549690+1612+39362+1612+757265+1872+775013+1872+832415+2080+960834+2080+960849+2080+613154+2080+608273+2080+13471+2288+296915+2392+149296+2392+85480+2496+821399+2496+181109+2548+343788+2548+71949+2600+174890+2600+517176+2652+721438+3120+298088+3172+96111+3172+397245+3224+935809+3276+433349+3276+937504+3328+454694+3328+536621+3380+76712+3380+156782+3484+10543+3536+459698+3536+26962+3640+25583+3744+153890+3744+158320+3744+706047+3744+498+3848+324652+3848+103861+3952+240149+3952+847108+3952+187359+3952+680729+3952+869131+4212+221160+4212+1027741+5044+675065+5044+667781+5096+945451+5096+550391+5148+866316+5148+532168+5148+676985+5200+438045+5200+753940+5200+81181+5252+151960+5772+679078+5824+490211+5876+9188+5980+585440+6032+111269+6032+955090+6084+198263+6084+301373+6084+228003+6084+580822+6188+562972+6188+746155+6240+669092+6240+684059+6240+414721+6292+149899+6344+633083+6344+774683+6448+558077+6500+5766+6656+976975+6656+412335+6656+847018+6708+876572+6708+582924+6864+695318+6864+614890+6968+802840+7020+45866+7020+978270+7072+790484+7228+753338+7280+19662+7280+953919+7280+149011+7332+104349+7332+307302+7540+257473+7644+663280+7644+96164+7748+193160+7800+908903+7956+298167+7956+234963+8008+806202+8216+108640+8216+609640+8320+493813+8320+620558+8320+408467+8528+432451+8528+511571+8580+951367+8580+459463+8632+709269+8632+424915+8632+497915+8684+765070+8788+796345+8788+966436+8788+871590+9100+652321+9100+566755+9256+758001+9308+326555+9308+278423+9308+139339+9360+979553+9360+402973+9620+136183+9672+176535+9672+563641+9724+769452+9724+608674+9776+253319+9984+394623+9984+519891+9984+5488+10348+777748+10348+196605+10400+593991+10400+979553+10400+899140+10712+255396+10764+1013668+10816+329221+10816+724284+11024+835086+11024+11434+11128+541442+11336+600455+11388+147749+11388+713774+11388+541514+11440+2142+11440+601485+11544+443345+11700+392948+11700+942449+11752+444676+11752+210078+11804+436235+11804+733268+12116+24063+12324+314845+12324+981545+12324+432451+12324+152958+12324+648553+12376+951367+12376+228224+12376+609479+12532+822838+12532+596817+13364+911429+13364+1036232+13728+724468+13728+799348+13884+766860+13884+355708+13884+884367+13884+773075+13884+583536+13936+344044+13936+687927+14248+137174+14248+438347+14248+853686+14300+600090+14300+955118+14352+281566+14352+265491+14352+260080+14404+886788+14404+45074+14612+566662+14612+385106+14612+1017484+14612+482042+14820+869785+14820+393472+14820+139575+14820+958903+14820+48465+15080+514602+15288+502775+15288+523979+15288+180961+15756+111489+15756+374670+15756+657709+15756+110197+16224+793097+16224+294785+16224+592788+16744+275607+16744+41582+16744+761690+16952+263955+17004+170838+17160+1036638+17160+514549+17160+781377+17212+249826+17680+258552+17680+601770+17680+759063+17680+976351+18096+236517+18096+293051+18148+931742+18148+859762+18616+551250+18616+615294+18616+76259+18616+233354+19084+668673+19084+42788+19084+380645+19084+857390+19552+335027+19552+14116+19552+111372+19552&qt=/hashq&wt=standard&rows=10&version=2.2} hits=128342 status=0 QTime=183 -Feb 13, 2011 3:35:28 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=830681+52+835720+52+1450+52+99916+52+576010+52+894503+104+988434+104+728739+104+16671+104+1004200+104+868016+208+661708+208+1000176+208+726509+208+1034049+364+150069+416+572809+416+808946+416+399548+416+521864+416+454790+468+991227+468+67580+468+162285+468+251953+468+972725+572+436460+624+649908+676+814038+676+723979+676+473704+780+357742+780+843852+780+395841+780+148642+832+669004+832+542113+884+526511+884+239000+884+915689+884+690890+936+746340+988+608443+988+107836+1456+505410+1456+1026885+1716+682815+1768+3213+1924+176139+1976+290608+2028+196993+2028+96874+2340+738742+2392+548416+2444+106812+2496+977763+2496+569988+2496+944278+2496+899307+2496+143523+2756+505394+2756+128594+2808+563135+2808+750402+2808+72624+2808+4895+3016+882953+3120+62885+3120+661935+3224+805455+3536+470091+3536+817712+3536+987724+3536+872210+3588+839393+3588+732334+4108+597721+4576+696947+4784+813925+4836+1015954+4836+636674+4836+366393+4888+406439+4940+219972+4992+388410+5044+188285+5096+584453+5356+225704+5460+1034920+5460+1033719+5460+318201+5512+756544+5512+796989+5564+701186+5564+466453+5564+106330+5616+31551+5616+16206+5616+1006841+5616+883032+5616+852372+5668+905285+5668+665354+5824+409712+5824+334231+5824+426094+5876+676019+5876+381062+6084+921510+6084+1030758+6084+140519+6188+955777+6188+827061+6604+385629+6604+696325+6604+207419+6604+43851+6604+484737+6656+325831+6864+825870+6864+469851+6864+390248+6916+985047+7124+1038892+7124+948457+7124+919293+7124+189300+7124+29894+7644+427903+7644+1002603+7748+543066+7800+840574+7800+851922+7800+144065+7852+481711+7852+950134+7904+943260+7904+624427+7956+27976+8008+265555+8008+43592+8112+614923+8164+80810+8164+828525+8684+766862+8840+129006+8892+291662+8944+766976+8996+764688+9048+342813+9100+387116+9152+347579+9152+757860+9152+843273+9152+240999+9672+469866+9724+685392+9724+491868+9724+626507+9724+372044+9932+783111+9932+694144+9932+869947+10192+411902+10192+1038301+10244+319627+10712+779639+10712+959566+10712+1044833+10712+377215+10712+1019958+10868+816463+10868+283532+10868+577799+10920+673499+10920+40323+10972+72526+11024+222148+11024+503400+11076+430017+11076+436881+11076+911670+11076+30011+11128+324336+11128+259597+11180+326782+11232+394826+11232+313108+11232+684063+11232+250759+11232+872849+11336+1012072+11336+904431+11388+353454+11388+952042+11440+28136+11440+1012090+11440+397189+11440+606058+11440+577799+11492+10503+11492+85480+11596+376994+11596+325596+11648+28313+11648+523771+11752+729905+11752+86802+11752+953478+11752+1043551+12272+818601+12272+43893+13312+285477+13312+81027+13312+267744+13468+757912+13520+709458+13572+731555+13572+861551+13624+605893+13624+282960+13676+74790+13780+681942+13780+584996+13780+176362+13832+635582+13832+259272+13832+161307+13832+784805+13832+820389+14040+833458+14040+166353+14040+406174+14040+797723+14040+236071+14092+122162+14300+675995+14300+53378+14300+188380+14300+530126+14300+808197+14352+606730+14352+410885+14352+808197+14404+267264+14664+20529+14716+516148+14716+468793+14820+185245+14872+591173+15184+302400+15184+584073+15236+25081+15236+517176+15236+474572+15340+939195+15340+605412+15340+971111+15548+551384+15548+624010+15808+844885+15808+655551+15912+303715+15912+21+15912+50618+15912+106191+15912+806684+16276+27794+16276+175305+16380+405714+16536+249883+16536+151493+16588+853513+16588+926646+16588+748161+16848+387390+16848+838406+16900+141402+16900+683317+16900+819226+16900+229614+16900+879705+17160+173222+17160+185462+17160+726207+17212+1012085+17212+683347+17212+16843+17212+594082+17264+762305+17264+242917+17420+215334+17784+107668+18148+873674+18200+266293+18200+139882+18200+74788+18824+175409+18824+103486+18928+201899+18928+399099+18980+420317+18980+902204+19084+513720+19084+610192+19084+530566+19396+1046317+19812+244789+20072+204117+20124+865474+20124+116469+20176+494070+20176+464161+20176&qt=/hashq&wt=standard&rows=10&version=2.2} hits=125076 status=0 QTime=149 -Feb 13, 2011 3:38:16 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=527992+52+834738+52+13912+52+900584+52+672359+52+1018452+260+833695+260+199182+260+518890+260+414773+260+741979+416+238347+416+342393+416+741381+416+22374+468+840574+468+1003771+468+460545+468+22374+520+899152+520+256347+520+511110+520+566731+520+108531+572+346584+572+1002177+572+386366+572+184836+572+677624+624+703304+624+703608+884+553707+884+836689+936+33058+936+886191+936+420160+988+239315+1040+782223+1092+1038468+1092+491399+1092+922330+1092+568510+1092+210746+1508+867377+1508+904002+1560+13003+1560+362015+1612+597557+1612+706890+1612+859752+1612+235132+1612+379163+1872+144830+1872+814738+1924+31692+1924+1027905+1924+917922+2236+280579+2288+840574+2288+406254+2288+16601+2392+860750+2652+552709+2704+597420+2756+368554+2756+770090+2912+82172+2912+856667+2964+674541+3172+71215+3172+505336+3172+919094+3172+77363+3224+684186+3224+730091+3224+705376+3692+252125+3692+783153+3692+116392+4108+349706+4160+481577+4264+968259+4264+807191+4472+944814+4680+991038+4680+986416+4680+760887+4992+577215+4992+531538+4992+793822+4992+165749+5044+222483+5044+123071+5044+353454+5096+472619+5148+194128+5200+132209+5200+893774+5408+164877+5720+104158+5772+614615+5772+502959+6240+829367+6240+244062+6240+27083+6240+769681+6344+103868+6604+616701+6604+294732+6760+801641+6760+1039219+6760+949937+6812+929435+6812+171519+6812+408518+6812+693455+7020+565432+7020+589678+7020+639815+7280+461939+7280+598821+7540+937703+7540+515064+7540+822838+7800+559799+7800+464460+7800+116545+7800+213029+8060+980407+8060+859881+8320+791838+8320+745871+8320+401930+8372+1030296+8788+78180+8788+70141+8788+915694+8840+770031+8840+399001+9048+1006452+9100+820611+9100+195036+9256+366457+9256+717338+9308+716716+9308+517098+9308+297748+9828+447421+9828+754027+9828+249898+9880+64507+9880+752383+10036+326639+10036+845179+10088+369663+10140+698989+10192+17925+10244+543130+10244+858525+10348+822087+10348+962950+10868+979375+10868+178278+10920+480689+10920+15901+11388+243680+11388+586929+11908+544656+11908+872125+11908+266959+11908+33990+11960+922443+11960+773328+12168+400870+12168+324502+12428+180317+12740+166166+12740+41967+12792+840574+12792+775120+12896+434369+12896+176777+12948+484373+12948+886768+12948+202056+12948+1029094+12948+188700+13104+345146+13104+912629+13104+89595+13260+489126+13260+483184+13312+261748+13312+661807+13416+465976+13416+90991+13624+330779+13624+54026+13780+181109+13832+834448+13832+815679+13884+561010+13884+58767+13936+427693+13988+632887+13988+744939+13988+29589+14456+1016964+14456+552777+14560+735195+14560+949937+14612+739906+14612+509349+14976+394791+14976+866979+14976+881392+14976+138482+15028+945763+15028+1014104+15028+498342+15496+897745+15496+935630+15496+836977+15860+367939+15964+620935+15964+691543+15964+212995+16016+212789+16016+296326+16016+952145+16068+492780+16068+915901+16120+17729+16276+938459+16276+516277+16276+918813+16276+516118+16276+261178+16328+225037+16536+227973+16536+811530+16536+112905+16952+109048+17056+1033645+17056+642161+17056+947033+17056+338737+17316+468628+17316+627060+17316+284775+17368+1010167+17524+976700+17576+229882+17628+318093+17628+106509+17680+300266+17680+893596+18044+355229+18096+906981+18096+602606+18148+631898+18200+265009+18200+389644+18252+661742+18304+458296+18356+534240+18356+1743+18460+256053+18460+225207+18460+514230+18460+541092+18512+777593+18564+900532+18564+589678+19084+80041+19084+409422+19396+965106+19396+373920+19604+1039878+19604+308284+19760+873450+19760+418630+20124+165175+20124+861383+20124+693376+20124+304692+20176+992712+20176&qt=/hashq&wt=standard&rows=10&version=2.2} hits=120106 status=0 QTime=107 -Feb 13, 2011 3:38:56 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=485988+10036+722710+10036+802605+10036+728148+10036+993715+10036+718131+10088+459125+10088+130813+10088+120425+10088+900117+10088+19204+10140+369327+10244+451257+10400+330881+10400+403240+10608+94148+10608+323707+10608+944354+10608+670092+10608+942992+10660+166159+10660+196321+10660+320693+10660+178278+10660+169975+11024+273703+11128+243680+11128+115552+11128+223662+11440+235381+11648+586929+11648+232432+11648+286648+11700+30611+11700+169503+11700+696181+11700+29747+11700+136620+11908+529400+12168+297972+12168+432663+12168+1001580+12324+788963+12428+17511+12480+815507+12532+1019527+12532+840574+12584+48194+12636+365877+12636+519249+12688+483732+12688+176777+12688+116190+12688+976708+12688+488539+12740+345146+12844+188700+12844+250545+12896+575907+13000+79470+13052+470685+13052+101155+13052+146856+13208+230490+13208+90991+13416+308589+13572+201776+13572+341735+13624+895684+13624+804252+13728+427693+13728+450770+13728+416139+13728+928792+14248+606977+14248+552777+14352+87075+14352+328133+14768+394791+14768+695647+14768+870235+14768+577128+14768+969708+15288+767787+15288+423102+15288+367939+15756+376121+15756+691543+15756+212995+15808+212789+15808+1044871+15808+296326+15808+371905+15860+17729+16016+85672+16016+729746+16068+888322+16068+999565+16068+225037+16276+954742+16276+849228+16276+112905+16692+109048+16796+1033645+16796+642161+16796+581478+16796+1047710+16796+168432+16848+338737+17108+814707+17108+934369+17108+177094+17316+207741+17368+518064+17420+106509+17420+893596+17836+795239+17836+849833+17888+839515+17888+645021+17940+631898+17940+849981+17992+30611+17992+389644+17992+329312+18044+661742+18096+412938+18096+534240+18148+822698+18148+1743+18200+276242+18200+329077+18200+973413+18200+541092+18252+777593+18356+273158+18356+402795+18876+242856+18876+954852+18876+706211+18876+960000+18928+561843+19136+314011+19136+42689+19396+13453+19396+337182+19500+961795+19864+165175+19916+853292+19916+418630+19916+867956+19916+225500+20332+225363+20436+320697+20436+258046+20436+1023396+20436+366896+20488+273592+20488+286149+20540+504353+20592+274244+20592+464045+20644+212389+20800+755495+20800+706630+20800+22234+20904+753365+20904+923152+20904+22303+20956+929014+20956+996141+20956+624288+20956+464775+20956+776539+21424+1042213+21424+562442+21424+554874+21892+758634+21944+116360+21944+921511+21944+75570+21996+38237+22464+982036+22672+955245+22724+972997+22724+757350+22724+981940+22984+596477+22984+469819+22984+40410+22984+776558+22984+851325+23452+784671+23452+1044477+23504+748419+23504+877322+23504+838371+23556+235492+23556+639001+23608+601737+23608+651241+23660+176959+23816+75004+23816+21680+23972+386795+23972+644136+23972+537422+24024+976028+24024+507127+24024+66296+24024+906337+24076+96408+24076+725102+24284+471736+24284+726518+24284+510274+24284+755892+24388+320647+24388+22297+24492+531272+24492+223892+24908+714873+25012+155901+25012+913229+25012+380640+25064+912094+25064+45299+25064+707189+25064+474454+25272+294493+25272+123502+25272+244982+25532+373746+25532+337668+25532+339019+25532+432546+25584+620248+25636+48898+26052+861291+26312+666123+26312+338446+26364+736856+26572+331222+26832+500675+26832+480264+26832+803904+26832+635349+26884+792511+26936+175774+26936+292046+26988+673499+26988+461151+27040+673499+27040+664611+27092+391726+27092+880564+27092+891846+27144+493789+27144+407650+27144+924651+27144+239823+27196+1025174+27560+687040+27612+645738+28080+416268+28080+675286+28080+170361+28132+82026+28132+161951+28132+246444+28132+552278+28392+681325+28392+74555+28600+698982+28600+875948+29120+866847+29120+979026+29120+356157+29172+489141+29536+751287+29640+922064+29640+1018545+29640+664949+29640+404108+29796+253614+30004+542662+30004+287003+30160+128880+30160+566306+30160+303022+30160+277319+30212&qt=/hashq&wt=standard&rows=10&version=2.2} hits=123136 status=0 QTime=117 -Feb 13, 2011 3:43:43 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=182478+10036+922330+10036+605547+10036+623789+10088+200447+10088+262091+10140+527771+10140+983885+10140+561704+10140+642619+10140+766784+10244+487859+10296+694721+10452+554624+10452+6823+10452+163939+10452+33619+10452+605547+10504+660034+10504+133104+10504+411875+10504+979553+10504+411875+10556+979553+10556+411875+10608+979553+10608+1017817+10608+411875+10660+979553+10660+309503+10712+907381+10712+388827+10712+985974+10764+416363+10764+408806+10764+329139+10764+1023584+10764+253296+11232+144282+11232+1004127+11388+136199+11388+707212+11440+666757+11440+243931+11440+862063+11700+896116+11700+424508+11700+437952+11700+280228+11752+646314+11752+916293+11752+953123+11804+511571+11804+521623+11856+684728+11908+229434+11960+244424+12012+362418+12012+805353+12012+581650+12012+442663+12012+922892+12636+476348+12636+773458+12636+896125+12636+19965+12636+767517+12688+995505+12688+260463+12740+79959+12740+296440+13260+1037018+13260+879651+13260+178808+13312+134426+13312+155326+13312+44120+13780+253296+13780+83330+13780+1004127+13936+780902+13936+872925+13936+335348+14196+845828+14196+491483+14248+719928+14248+436135+14560+720603+14560+225941+14560+465425+14560+843615+14560+740969+15184+745206+15184+216410+15184+612909+15184+939628+15496+101046+15548+490148+15548+253215+15548+877316+15808+756166+15808+884236+15808+100652+15808+203143+16328+359321+16328+615882+16484+305934+16484+991195+16484+790266+16640+1001306+16796+965182+16796+969681+16848+626744+16952+649663+17108+303258+17108+237684+17108+378466+17108+843342+17108+399599+17732+516357+17732+135005+17732+177474+17732+125920+18044+336519+18044+629499+18096+804325+18096+605547+18096+383384+18356+1041307+18356+851770+18356+150645+18356+551544+18356+211236+18876+806610+18876+197888+19032+979794+19032+869523+19032+764102+19084+235036+19084+405916+19084+876667+19188+925857+19240+425287+19240+538748+19240+540301+19344+144679+19656+671865+19656+983741+19656+723873+19656+265140+19656+529040+19760+879788+20020+320413+20176+197334+20176+25474+20280+192908+20280+280391+20280+725105+20904+682767+20904+894846+20904+178808+20956+999695+20956+253296+21424+429685+21424+78779+21424+1036332+21580+557958+21580+642516+21632+15286+21892+872684+21892+78537+21892+75826+21892+213768+21892+222292+21944+187626+21944+687403+21996+597220+22204+167887+22204+582171+22204+843615+22204+534812+22204+896727+22256+301713+22828+809533+22828+596625+22880+56272+22880+55921+23504+382180+23504+862375+23504+111262+23504+872183+23504+431241+23556+142377+23816+532373+23816+600399+23920+1013296+23972+327523+23972+912540+24024+1032412+24076+849589+24128+545397+24128+165798+24128+353248+24180+251451+24336+367639+24336+211308+24544+39080+24596+718577+24648+761270+24700+407121+24752+625799+24752+287381+24752+811049+24752+988101+25064+367920+25116+285100+25116+274363+25168+1007519+25220+877223+25220+372686+25272+968532+25324+667735+25428+807540+25428+467544+25428+589765+25428+994856+26052+653119+26052+785807+26052+675377+26052+385483+26052+253296+26520+989873+26520+479273+26676+778932+26988+257991+26988+843249+26988+184093+26988+262043+27040+781313+27040+670145+27352+412631+27352+31673+27352+378466+27352+685307+27352+135005+27976+306074+27976+417519+27976+710083+27976+232818+27976+975974+28028+605547+28028+923877+28028+603754+28080+148334+28132+342841+28132+132960+28132+432275+28340+143892+28340+730488+28340+843790+28652+914448+28652+550721+28652+1032757+28652+238347+28652+250349+29120+58066+29120+481903+29224+637263+29276+595842+29276+150882+29328+145283+29380+644424+29588+106575+29640+522108+29692+1025268+29744+181011+29744+876671+29900+380650+29900+787452+29900+150645+29900+987824+29900&qt=/hashq&wt=standard&rows=10&version=2.2} hits=127133 status=0 QTime=140 -Feb 13, 2011 6:50:20 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=804502+10036+467671+10036+1034938+10036+637406+10036+154152+10036+749888+10088+15036+10088+617204+10088+804502+10088+501767+10088+350607+10140+168965+10140+467769+10140+897242+10140+815941+10140+988710+10192+655476+10192+121862+10192+195763+10192+517762+10192+698046+10244+467769+10244+820816+10244+38670+10296+997247+10296+633316+10400+457523+10400+922274+10400+778036+10400+476974+10400+633316+10556+652867+10556+689991+10608+796014+10608+434625+10660+532916+10660+633316+10816+266729+10816+612070+10868+613639+10868+962273+10868+123990+10920+1034911+10920+633316+11076+900850+11076+200774+11284+152600+11284+527924+11388+869954+11544+423516+11544+434625+11648+662461+11648+2903+11700+222459+11700+655476+11700+845433+11700+434625+11804+981335+11804+633316+11960+882914+11960+757873+12064+802025+12064+176262+12116+200059+12168+573206+12220+1033262+12220+337413+12220+938950+12272+679920+12376+633316+12376+724988+12376+924831+12428+349939+12532+988868+12532+633316+12532+533888+12532+751342+12688+20357+12688+633316+12688+802625+12688+899887+12740+106079+12740+212699+12896+607450+12896+200774+12896+61349+12896+670892+12948+285949+12948+633316+13052+402231+13052+776660+13104+178953+13156+569946+13208+482019+13208+502267+13260+210051+13416+396435+13416+969442+13416+106038+13468+671719+13468+863408+13468+258898+13572+447217+13572+48321+13572+200774+13624+460306+13624+845116+13676+256557+13676+200774+13832+522742+13832+200774+14040+425912+14040+91599+14144+200774+14248+523019+14248+526797+14404+666447+14404+265426+14456+64054+14456+854479+14508+761210+14560+948941+14560+712336+14560+401411+14612+248575+14612+685285+14664+886966+14664+58231+14664+88901+14768+366627+14820+869954+14820+531388+14820+702488+14872+778699+14872+276569+14872+350182+15080+98769+15080+18354+15080+208255+15236+833250+15288+389958+15340+884900+15392+456504+15600+350182+15652+836416+15808+424815+15808+117450+15860+454273+15860+958710+15912+102420+15912+650189+15964+884900+15964+491977+15964+322788+16120+849643+16172+369398+16172+53726+16172+309177+16172+948941+16276+57589+16484+120120+16588+328877+16796+884900+16900+244479+17004+488797+17108+460777+17160+737001+17160+727980+17160+458535+17212+948941+17212+1031396+17264+171542+17264+354324+17316+354201+17316+287454+17472+848371+17472+232772+17472+413668+17472+956656+17524+903589+17680+853141+17784+13317+18044+755874+18200+1045847+18200+761787+18304+547150+18304+120120+18356+826508+18356+146147+18356+288424+18408+480252+18460+751497+18460+1011141+18512+609962+18668+152016+18720+931664+18772+29139+18772+1022010+18824+255567+18824+716012+18824+897141+18876+658340+18876+730444+18928+176828+19136+448295+19240+585757+19292+1013377+19292+662733+19292+720532+19448+317630+19448+2978+19448+176551+19552+204778+19552+566492+19656+205940+19656+277465+19708+841444+19760+846374+19760+846120+19812+292228+19812&qt=/hashq&wt=standard&rows=10&version=2.2} hits=94309 status=0 QTime=65 -Feb 13, 2011 7:12:14 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=8652+10036+399999+10036+768278+10036+562620+10036+520623+10036+844485+10088+517176+10088+1019396+10192+489421+10192+364561+10192+91535+10192+125714+10244+169217+10244+524385+10244+524385+10296+423353+10296+125714+10296+169217+10296+1043530+10348+250472+10348+307887+10348+125714+10348+436769+10348+268501+10400+927701+10400+270120+10400+97961+10400+206508+10400+344044+10452+343740+10452+950535+10556+750016+10556+318835+10608+19231+10608+897137+10608+921190+10608+301292+10660+115956+10712+1002603+10712+742910+10712+300087+10712+461764+10764+781551+10816+901722+11024+329391+11076+347227+11076+522406+11076+760852+11076+971080+11128+1009013+11128+334943+11128+668518+11284+539086+11336+346710+11388+1041976+11388+354289+12012+925350+12012+992807+12584+937394+12584+573141+12636+460479+12636+31454+12636+798417+12636+251125+12636+143743+12688+180788+12688+632545+12688+571043+12688+344044+12688+286641+12740+105344+12740+442978+12740+180788+12740+545387+12792+382275+13000+658983+13052+948457+13052+906115+13052+411371+13208+300982+13312+948457+13312+869898+13312+65019+13364+181109+13364+131817+13364+528973+13364+447869+13416+249190+13416+963515+13676+949792+13988+65751+13988+294429+14508+526820+14560+470651+14612+395101+14612+886489+14612+60690+14612+658676+14612+56283+14664+169217+14664+417876+14716+620455+14924+382662+14976+489228+15288+674989+15288+100573+15288+797458+15288+52771+15288+85716+15600+448855+15652+995980+15912+1017720+15912+523024+15912+949298+15912+505541+15912+1011179+16224+753286+16276+975232+16276+632350+16276+540796+16276+214688+16276+512019+16640+249594+16796+22374+16848+476535+16848+921832+16848+544310+16848+732410+16900+161309+16900+346108+16900+314106+16952+1014869+16952+59877+16952+591965+16952+363483+17212+353932+17264+455474+17264+176113+17264+400127+17264+891851+17316+287439+17316+344401+17524+163456+17524+577799+17576+202147+17576+316612+17628+754811+17628+407992+17628+133945+17680+11032+17680+681002+17680+839278+17732+830506+17732+420510+18512+783630+18512+134639+18824+101535+18824+480890+18876+417090+18876+384847+18876+180656+18876+1025706+18876+925575+18928+140983+18928+998666+18928+485988+18928+888598+18928+381783+19032+850037+19084+628627+19084+870232+19136+981233+19448+81330+19448+994569+19500+368043+19500+701674+19500+409057+19760+110345+19812+179770+19812+414532+19812+1039463+19812+458046+20124+289421+20124+135224+20228+884975+20228+1012810+20904+76334+20956+76334+21008+589986+21060+566291+21060+331361+21060+589594+21060+902269+21112+76334+21112+746151+21112+113109+21112+363412+21112+1038772+21164+419281+21164+326297+21164+535519+21164+345589+21372+243648+21372+127197+21372+223541+21424+485988+21476+974502+21580+181109+21632+181109+21684+181109+21736+41700+21736+808302+21736+984067+21736+519841+21788+1007423+21788+341735+21788+611370+21788+397981+21892+350056+21996+289130+22100+566786+22100+605032+22100+998948+22204+1015739+22256+620309+22308+181109+22360+1022075+22360+181109+22412+406888+22412+459074+22516+612287+22620+643833+22672+270445+22724+500680+22724+250759+22724+84808+23036+266232+23036+1003675+23036+335677+23088+882059+23088+600977+23088+74597+23088+970200+23400+160693+23400+794088+23660+179114+23660+556912+23712+35264+23712+314488+23712+882059+23712+555306+23712+218997+23764+22270+24232+279860+24232+731172+24336+345698+24336+279294+24960+189045+24960+314914+24960+795304+25012+268479+25012+1013722+25376+846868+25428+942078+25584+819056+25636+49979+25636+295960+25636+394556+25636+146011+25636+523588+25688+169217+25688+392245+25948+1020330+25948+487747+25948+271170+25948+753368+25948+306460+26000+197586+26000+426777+26000+345367+26000+208465+26000+306460+26052+306460+26104+526630+26260+359547+26312+260739+26364+259748+26364+323763+26676+622599+26676+487627+26728+79687+26832+655295+26988+175687+26988+776544+26988+657568+26988+1030042+27040+340383+27040+564924+27612+690439+27612+997113+27664+324922+27716+316257+27924+992642+27924+556126+27924+742315+27924+101936+27924+1033025+27976+226714+27976+954617+27976+661268+27976+868529+27976+976588+28028+331384+28028+522769+28028+957611+28028+258340+28288+466428+28288+181109+28340+90675+28340+623716+28652+357776+28704+789577+28704+1005874+28704+811917+28912+653881+28912+476175+28912+180788+28964+416746+28964+196072+28964+912900+28964+494440+29016+721238+29016+494440+29068+494440+29120+1006340+29172+494440+29172+496270+29172+862646+29224+389136+29224+139536+29276+625572+29588+585762+29640&qt=/hashq&wt=standard&rows=10&version=2.2} hits=129188 status=0 QTime=251 -Feb 13, 2011 7:40:40 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=527992+52+834738+52+13912+52+900584+52+672359+52+1018452+260+833695+260+199182+260+518890+260+414773+260+741979+416+238347+416+342393+416+741381+416+22374+468+840574+468+1003771+468+460545+468+22374+520+446509+520+256347+520+463366+520+511110+520+108531+572+346584+572+1002177+572+386366+572+184836+572+677624+624+703304+624+703608+884+553707+884+836689+936+33058+936+886191+936+420160+988+239315+1040+782223+1092+1038468+1092+491399+1092+922330+1092+568510+1092+210746+1508+867377+1508+904002+1560+13003+1560+362015+1612+597557+1612+706890+1612+859752+1612+235132+1612+379163+1872+144830+1872+814738+1924+31692+1924+1027905+1924+917922+2236+280579+2288+840574+2288+406254+2288+16601+2392+860750+2652+552709+2704+597420+2756+368554+2756+770090+2912+82172+2912+856667+2964+674541+3172+71215+3172+505336+3172+919094+3172+77363+3224+684186+3224+730091+3224+705376+3692+252125+3692+783153+3692+116392+4108+349706+4160+481577+4264+968259+4264+807191+4472+944814+4680+991038+4680+986416+4680+760887+4992+577215+4992+531538+4992+793822+4992+165749+5044+222483+5044+123071+5044+353454+5096+472619+5148+194128+5200+132209+5200+893774+5408+164877+5720+104158+5772+614615+5772+502959+6240+829367+6240+244062+6240+27083+6240+769681+6344+103868+6604+616701+6604+294732+6760+801641+6760+1039219+6760+949937+6812+929435+6812+171519+6812+408518+6812+693455+7020+565432+7020+589678+7020+639815+7280+461939+7280+598821+7540+937703+7540+515064+7540+822838+7800+559799+7800+464460+7800+116545+7800+213029+8060+980407+8060+859881+8320+791838+8320+745871+8320+401930+8372+1030296+8788+78180+8788+70141+8788+915694+8840+770031+8840+399001+9048+1006452+9100+820611+9100+195036+9256+366457+9256+717338+9308+716716+9308+517098+9308+297748+9828+447421+9828+754027+9828+249898+9880+64507+9880+752383+10036+326639+10036+845179+10088+369663+10140+698989+10192+17925+10244+543130+10244+858525+10348+822087+10348+962950+10868+357280+10868+178278+10920+163716+10920+15901+11388+600895+11388+586929+11908+544656+11908+872125+11908+266959+11908+33990+11960+922443+11960+773328+12168+400870+12168+324502+12428+180317+12740+166166+12740+41967+12792+840574+12792+775120+12896+434369+12896+176777+12948+484373+12948+886768+12948+202056+12948+1029094+12948+188700+13104+345146+13104+912629+13104+89595+13260+489126+13260+483184+13312+261748+13312+661807+13416+465976+13416+90991+13624+330779+13624+54026+13780+181109+13832+834448+13832+815679+13884+561010+13884+58767+13936+427693+13988+632887+13988+744939+13988+29589+14456+217097+14456+552777+14560+735195+14560+949937+14612+739906+14612+509349+14976+394791+14976+866979+14976+881392+14976+138482+15028+945763+15028+1036238+15028+498342+15496+897745+15496+935630+15496+836977+15860+367939+15964+620935+15964+691543+15964+212995+16016+212789+16016+296326+16016+952145+16068+492780+16068+915901+16120+17729+16276+938459+16276+516277+16276+918813+16276+516118+16276+261178+16328+225037+16536+227973+16536+811530+16536+112905+16952+109048+17056+1033645+17056+642161+17056+947033+17056+338737+17316+468628+17316+627060+17316+284775+17368+1010167+17524+976700+17576+229882+17628+318093+17628+106509+17680+300266+17680+893596+18044+355229+18096+906981+18096+602606+18148+631898+18200+265009+18200+389644+18252+661742+18304+458296+18356+534240+18356+1743+18460+256053+18460+225207+18460+514230+18460+541092+18512+777593+18564+900532+18564+589678+19084+80041+19084+409422+19396+965106+19396+373920+19604+1039878+19604+308284+19760+873450+19760+481719+20124+165175+20124+861383+20124+693376+20124+304692+20176+902755+20176+225500+20592+723267+20644+385222+20644+513234+20644+258046+20644+82582+20696+985611+20748+460926+20800+503143+20800+147452+20904+212389+21060+326108+21060+22234+21164+753365+21164+1008971+21164+624288+21164+464775+21164+333381+21216+962394+21216+968825+21684+1042213+21684+562442+21684+577473+22152+758634+22204+1032340+22204+921511+22204+930134+22204+75570+22256+626119+22724+515498+22724+982036+22932+919826+22932+145376+22984+732374+22984+930199+23192+38883+23192+709096+23192+390548+23192+640316+23192+479724+23244+736338+23244+343843+23244+800959+23660+892540+23660+792402+23712+748419+23712+743815+23764+678679+23816+513366+23816+955090+23816+651241+23868+200050+24076+21680+24232+90966+24232+979081+24232+66296+24284+906337+24284+96408+24284+725102+24492+471736+24492+726518+24492+510274+24492+623658+24544+755892+24648+811494+24648+823650+24700+1020457+24700+223892+25116+264906+25272+1013793+25272+689955+25272+45299+25272+857435+25272+17637+25324+793937+25324+164086+25324+749366+25324+474454+25532+294493+25532+123502+25532+424775+25740+1009784+25740+181320+25740+957088+25792+382723+25792+247462+25792+51142+25792+591734+25844+875409+26312+935626+26312+1025612+26364+1004367+26572+173809+26572+660125+26832+153356+27040+277921+27092+557254+27092+821108+27092+803904+27092+635349+27144+551398+27144+902114+27196+292046+27196+461151+27248+673499+27248+728342+27352+1018582+27352+179378+27352+139349+27404+735379+27456+1012806+27456+126120+27456+511182+27820+475014+27820+737637+28340+607769+28340+447008+28340+890715+28392+552278+28600+681325+28600+74555+28860+698982+28860+115536+29380+828314+29380+772670+29380+356157+29432+489141+29796+751287+29900+922064+29900+1018545+29900+664949+29900+404108+30056+788107+30212+260920+30264+542662+30264+277028+30420+876295+30420+982219+30420+103143+30420+773839+30472+770833+30524+692181+30576+1026593+30940+352752+30940+578633+30940+460725+30940+270627+31044+683558+31408+300483+31408+557266+31460+789413+31460+778819+31460+162833+31460&qt=/hashq&wt=standard&rows=15&version=2.2} hits=124367 status=0 QTime=158 -Feb 13, 2011 7:40:42 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=527992+52+834738+52+13912+52+900584+52+672359+52+1018452+260+833695+260+199182+260+518890+260+414773+260+741979+416+238347+416+342393+416+741381+416+22374+468+840574+468+1003771+468+460545+468+22374+520+446509+520+256347+520+463366+520+511110+520+108531+572+346584+572+1002177+572+386366+572+184836+572+677624+624+703304+624+703608+884+553707+884+836689+936+33058+936+886191+936+420160+988+239315+1040+782223+1092+1038468+1092+491399+1092+922330+1092+568510+1092+210746+1508+867377+1508+904002+1560+13003+1560+362015+1612+597557+1612+706890+1612+859752+1612+235132+1612+379163+1872+144830+1872+814738+1924+31692+1924+1027905+1924+917922+2236+280579+2288+840574+2288+406254+2288+16601+2392+860750+2652+552709+2704+597420+2756+368554+2756+770090+2912+82172+2912+856667+2964+674541+3172+71215+3172+505336+3172+919094+3172+77363+3224+684186+3224+730091+3224+705376+3692+252125+3692+783153+3692+116392+4108+349706+4160+481577+4264+968259+4264+807191+4472+944814+4680+991038+4680+986416+4680+760887+4992+577215+4992+531538+4992+793822+4992+165749+5044+222483+5044+123071+5044+353454+5096+472619+5148+194128+5200+132209+5200+893774+5408+164877+5720+104158+5772+614615+5772+502959+6240+829367+6240+244062+6240+27083+6240+769681+6344+103868+6604+616701+6604+294732+6760+801641+6760+1039219+6760+949937+6812+929435+6812+171519+6812+408518+6812+693455+7020+565432+7020+589678+7020+639815+7280+461939+7280+598821+7540+937703+7540+515064+7540+822838+7800+559799+7800+464460+7800+116545+7800+213029+8060+980407+8060+859881+8320+791838+8320+745871+8320+401930+8372+1030296+8788+78180+8788+70141+8788+915694+8840+770031+8840+399001+9048+1006452+9100+820611+9100+195036+9256+366457+9256+717338+9308+716716+9308+517098+9308+297748+9828+447421+9828+754027+9828+249898+9880+64507+9880+752383+10036+326639+10036+845179+10088+369663+10140+698989+10192+17925+10244+543130+10244+858525+10348+822087+10348+962950+10868+357280+10868+178278+10920+163716+10920+15901+11388+600895+11388+586929+11908+544656+11908+872125+11908+266959+11908+33990+11960+922443+11960+773328+12168+400870+12168+324502+12428+180317+12740+166166+12740+41967+12792+840574+12792+775120+12896+434369+12896+176777+12948+484373+12948+886768+12948+202056+12948+1029094+12948+188700+13104+345146+13104+912629+13104+89595+13260+489126+13260+483184+13312+261748+13312+661807+13416+465976+13416+90991+13624+330779+13624+54026+13780+181109+13832+834448+13832+815679+13884+561010+13884+58767+13936+427693+13988+632887+13988+744939+13988+29589+14456+217097+14456+552777+14560+735195+14560+949937+14612+739906+14612+509349+14976+394791+14976+866979+14976+881392+14976+138482+15028+945763+15028+1036238+15028+498342+15496+897745+15496+935630+15496+836977+15860+367939+15964+620935+15964+691543+15964+212995+16016+212789+16016+296326+16016+952145+16068+492780+16068+915901+16120+17729+16276+938459+16276+516277+16276+918813+16276+516118+16276+261178+16328+225037+16536+227973+16536+811530+16536+112905+16952+109048+17056+1033645+17056+642161+17056+947033+17056+338737+17316+468628+17316+627060+17316+284775+17368+1010167+17524+976700+17576+229882+17628+318093+17628+106509+17680+300266+17680+893596+18044+355229+18096+906981+18096+602606+18148+631898+18200+265009+18200+389644+18252+661742+18304+458296+18356+534240+18356+1743+18460+256053+18460+225207+18460+514230+18460+541092+18512+777593+18564+900532+18564+589678+19084+80041+19084+409422+19396+965106+19396+373920+19604+1039878+19604+308284+19760+873450+19760+481719+20124+165175+20124+861383+20124+693376+20124+304692+20176+902755+20176+225500+20592+723267+20644+385222+20644+513234+20644+258046+20644+82582+20696+985611+20748+460926+20800+503143+20800+147452+20904+212389+21060+326108+21060+22234+21164+753365+21164+1008971+21164+624288+21164+464775+21164+333381+21216+962394+21216+968825+21684+1042213+21684+562442+21684+577473+22152+758634+22204+1032340+22204+921511+22204+930134+22204+75570+22256+626119+22724+515498+22724+982036+22932+919826+22932+145376+22984+732374+22984+930199+23192+38883+23192+709096+23192+390548+23192+640316+23192+479724+23244+736338+23244+343843+23244+800959+23660+892540+23660+792402+23712+748419+23712+743815+23764+678679+23816+513366+23816+955090+23816+651241+23868+200050+24076+21680+24232+90966+24232+979081+24232+66296+24284+906337+24284+96408+24284+725102+24492+471736+24492+726518+24492+510274+24492+623658+24544+755892+24648+811494+24648+823650+24700+1020457+24700+223892+25116+264906+25272+1013793+25272+689955+25272+45299+25272+857435+25272+17637+25324+793937+25324+164086+25324+749366+25324+474454+25532+294493+25532+123502+25532+424775+25740+1009784+25740+181320+25740+957088+25792+382723+25792+247462+25792+51142+25792+591734+25844+875409+26312+935626+26312+1025612+26364+1004367+26572+173809+26572+660125+26832+153356+27040+277921+27092+557254+27092+821108+27092+803904+27092+635349+27144+551398+27144+902114+27196+292046+27196+461151+27248+673499+27248+728342+27352+1018582+27352+179378+27352+139349+27404+735379+27456+1012806+27456+126120+27456+511182+27820+475014+27820+737637+28340+607769+28340+447008+28340+890715+28392+552278+28600+681325+28600+74555+28860+698982+28860+115536+29380+828314+29380+772670+29380+356157+29432+489141+29796+751287+29900+922064+29900+1018545+29900+664949+29900+404108+30056+788107+30212+260920+30264+542662+30264+277028+30420+876295+30420+982219+30420+103143+30420+773839+30472+770833+30524+692181+30576+1026593+30940+352752+30940+578633+30940+460725+30940+270627+31044+683558+31408+300483+31408+557266+31460+789413+31460+778819+31460+162833+31460&qt=/hashq&wt=standard&rows=15&version=2.2} hits=124367 status=0 QTime=115 -Feb 13, 2011 8:15:05 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=182478+10036+922330+10036+605547+10036+623789+10088+200447+10088+262091+10140+527771+10140+983885+10140+561704+10140+642619+10140+766784+10244+487859+10296+694721+10452+554624+10452+6823+10452+163939+10452+33619+10452+605547+10504+660034+10504+133104+10504+411875+10504+979553+10504+411875+10556+979553+10556+411875+10608+979553+10608+1017817+10608+411875+10660+979553+10660+309503+10712+907381+10712+388827+10712+985974+10764+416363+10764+408806+10764+329139+10764+1023584+10764+253296+11232+144282+11232+1004127+11388+136199+11388+707212+11440+666757+11440+243931+11440+862063+11700+896116+11700+424508+11700+437952+11700+280228+11752+646314+11752+916293+11752+953123+11804+511571+11804+521623+11856+684728+11908+229434+11960+244424+12012+362418+12012+805353+12012+581650+12012+442663+12012+922892+12636+476348+12636+773458+12636+896125+12636+19965+12636+767517+12688+995505+12688+260463+12740+79959+12740+296440+13260+1037018+13260+879651+13260+178808+13312+134426+13312+155326+13312+44120+13780+253296+13780+83330+13780+1004127+13936+780902+13936+872925+13936+335348+14196+845828+14196+491483+14248+719928+14248+436135+14560+720603+14560+225941+14560+465425+14560+843615+14560+740969+15184+745206+15184+216410+15184+612909+15184+939628+15496+101046+15548+490148+15548+253215+15548+877316+15808+756166+15808+884236+15808+100652+15808+203143+16328+359321+16328+615882+16484+305934+16484+991195+16484+790266+16640+1001306+16796+965182+16796+969681+16848+626744+16952+649663+17108+303258+17108+237684+17108+378466+17108+843342+17108+399599+17732+516357+17732+135005+17732+177474+17732+125920+18044+336519+18044+629499+18096+804325+18096+605547+18096+383384+18356+1041307+18356+851770+18356+150645+18356+551544+18356+211236+18876+806610+18876+197888+19032+979794+19032+869523+19032+764102+19084+235036+19084+405916+19084+876667+19188+925857+19240+425287+19240+538748+19240+540301+19344+144679+19656+671865+19656+983741+19656+723873+19656+265140+19656+529040+19760+879788+20020+320413+20176+197334+20176+25474+20280+192908+20280+280391+20280+725105+20904+682767+20904+894846+20904+178808+20956+999695+20956+253296+21424+429685+21424+78779+21424+1036332+21580+557958+21580+642516+21632+15286+21892+872684+21892+78537+21892+75826+21892+213768+21892+222292+21944+187626+21944+687403+21996+597220+22204+167887+22204+582171+22204+843615+22204+534812+22204+896727+22256+301713+22828+809533+22828+596625+22880+56272+22880+55921+23504+382180+23504+862375+23504+111262+23504+872183+23504+431241+23556+142377+23816+532373+23816+600399+23920+1013296+23972+327523+23972+912540+24024+1032412+24076+849589+24128+545397+24128+165798+24128+353248+24180+251451+24336+367639+24336+211308+24544+39080+24596+718577+24648+761270+24700+407121+24752+625799+24752+287381+24752+811049+24752+988101+25064+367920+25116+285100+25116+274363+25168+1007519+25220+877223+25220+372686+25272+968532+25324+667735+25428+807540+25428+467544+25428+589765+25428+994856+26052+653119+26052+785807+26052+675377+26052+385483+26052+253296+26520+989873+26520+479273+26676+778932+26988+257991+26988+843249+26988+184093+26988+262043+27040+781313+27040+670145+27352+412631+27352+31673+27352+378466+27352+685307+27352+135005+27976+306074+27976+417519+27976+710083+27976+232818+27976+975974+28028+605547+28028+923877+28028+603754+28080+148334+28132+342841+28132+132960+28132+432275+28340+143892+28340+730488+28340+843790+28652+914448+28652+550721+28652+1032757+28652+238347+28652+250349+29120+58066+29120+481903+29224+637263+29276+595842+29276+150882+29328+145283+29380+644424+29588+106575+29640+522108+29692+1025268+29744+181011+29744+876671+29900+380650+29900+787452+29900+150645+29900+987824+29900&qt=/hashq&wt=standard&rows=10&version=2.2} hits=127133 status=0 QTime=172 -Feb 13, 2011 8:46:41 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=295705+10036+542356+10036+513696+10036+587636+10036+26222+10036+475578+10088+805478+10088+146817+10088+992525+10088+165035+10088+777756+10244+900236+10244+930727+10244+164763+10244+446124+10296+762349+10296+1007947+10296+847272+10296+13910+10400+227416+10400+641270+10452+348936+10504+578418+10504+229167+10504+703479+10556+834123+10556+826907+10556+566118+10556+194667+10556+1042285+10816+94711+10868+808399+10868+777052+10868+327676+10920+328122+11128+727784+11128+623468+11128+713885+11180+700897+11180+21657+11180+602596+11388+944842+11388+976200+11440+527549+11440&qt=/hashq&wt=standard&rows=10&version=2.2} hits=87842 status=0 QTime=27 -Feb 13, 2011 9:24:04 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=808197+10036+501512+10036+335305+10036+755994+10036+40589+10036+847561+10088+352678+10140+488829+10244+585811+10244+1028089+10244+1010127+10244+242505+10244+323275+10296+342001+10296+501512+10296+361735+10296+785246+10296+968364+10348+399255+10348+974305+10400+533877+10400+808197+10452+918069+10452+439609+10452+815507+10504+573579+10504+463178+10504+723968+10556+711318+10608+760607+10608+800348+10608+353596+10712+367843+10712+974622+10764+801698+10764+984615+10868+279266+10868+243320+10868+68978+10920+494709+10972+1002854+11024+120430+11700+171351+11700+589658+11700+200698+11752+882059+11752+419178+11752+213627+11804+845129+11804+810426+11856+452518+11856+653176+11856+599667+11856+976349+12064+632433+12064+419353+12168+631484+12220+696208+12480+205505+12480+441193+12480+388535+12480+88931+12532+237715+12532+544518+12636+741784+12792+892942+12948+211189+12948+1070+12948+990261+12948+902189+13000+429000+13000+613591+13000+710357+13000+638729+13000+996295+13052+526454+13104+854187+13156+44649+13468+1038088+13468+418484+13468+345666+13468+341735+13520+745585+13520+634748+13520+795278+13520+234534+13624+473212+13832+478539+13884+573416+13936+150130+14248+173714+14248+1042897+14248+170630+14248+979553+14300+209788+14300+952715+14300+711355+14352+258661+14404+260080+14404+825653+14404+1033486+14404+900836+14404+537095+14456+142506+14508+942936+14560+77528+14768+424169+14768+287640+14820+586914+15028+294566+15132+654985+15132+830303+15184+169217+15184+247631+15340+67198+15340+661441+15496+289331+15548+1015525+15548+919347+15548+392526+15600+669092+15600+282281+15912+111948+15912+459387+15964+15499+15964+94548+16120+197507+16120+335396+16328+863621+16380+310444+16380+9777+17264+368085+17264+745215+17316+534551+17316+433484+17420+909337+17420+906041+17420+87625+17420+236316+17576+18110+17576+894076+17576+131809+17576+361073+17576+762381+17628+228848+17628+196844+17628+488749+18096+949471+18096+633966+18096+555775+18148+981746+18200+649238+18200+60273+18200+589935+18200+248298+18200+467545+18252+31499+18252+786117+18252+679859+18460+336834+18512+59520+18512+999114+18616+516914+18668+878431+18720+400518+18720+682820+18928+532869+19032+924997+19032+265928+19032+907651+19032+136899+19084+819439+19084+180788+19084+467545+19136+954140+19136+324468+19136+818671+19136+441967+19188+313796+19240+239883+19240+679263+19292+882270+19292+831396+19292+34991+19344&qt=/hashq&wt=standard&rows=10&version=2.2} hits=127326 status=0 QTime=158 -Feb 13, 2011 9:56:42 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=1029093+10036+840574+10036+17156+10036+984442+10036+251093+10036+719786+10088+815880+10088+1028244+10088+105346+10088+1016903+10088+107210+10140+587335+10140+291060+10140+896727+10140+637612+10140+855070+10192+735232+10192+141202+10192+916878+10192+647356+10192+194703+10244+271424+10244+632669+10244+52086+10244+580065+10296+342377+10296+209494+10348+201793+10400+785745+10400+446310+10400+202823+10452+120839+10452+832557+10452+807032+10452+780362+10452+81834+10608+881296+10712+863784+10712+602468+10712+932615+10712+492147+10712+210545+10764+13022+11128+642936+11128+584046+11336+119550+11544+1011849+11544+655765+11544+632920+11544+909612+11544+5154+11596+613884+11596+162898+11960+985044+11960+1046821+11960+139339+12012+691537+12012+1024721+12168+68462+12220+361441+12220+54825+12220+538629+12272+628824+12272+221528+12272+996269+12688+653382+13052+504232+13052+585957+13052+19124+13104+232499+13104+984442+13104+709030+13104+750131+13104+478565+13156+138821+13208+576861+13468+268540+13468+327923+13468+868023+13520+682670+13520+356259+13520+972102+13520+827251+13624+25068+13624+498604+13728+352787+13728+101934+13832+463131+13832+469708+13884+356851+13884+513542+13884+927701+13936+995006+14040+342523+14092+284920+14352+952113+14352+75404+14352+495027+14508+589119+14508+578960+15392+722470+15392+493982+15392+475644+15392+1024+15392+584900+15444+864750+15444+103686+15600+697511+15600+519501+15652+538774+15704+30557+15704+174480+15756+88096+15808+801047+15808+553172+15808+482516+15860+934704+15860+514502+15912+168673+15912+753115+16120+672807+16172+46200+16172+966277+16328+11413+16536+866073+16536+276687+16536+806622+16588+243227+16640+565823+16640+542184+16640+311216+16900+726651+16900+177316+17212+650061+17316+782633+17420+862037+17472+882271+17472+329041+17472+66712+17472+650793+17524+984442+17524+139218+17680+447345+17680+167355+17680+466841+17680+984442+17732+916866+17836+912636+17888+447345+17888+759735+17888+590035+17888+109591+17888+906652+18148+128135+18148+678359+18148+64872+18148+597267+18408+649379+18408+612208+18408+34668+18408+802783+18824+770996+18824+882127+19240+30743+19240+277494+19240+812168+19656+187513+19656+162898+19656+118944+19656+690636+19968+798333+19968+763020+20020+282601+20020+428199+20072+882004+20072+877332+20072+874090+20124+594118+20176+323049+20228+462093+20384+543925+20384+386524+20436+349127+20436+214630+20644+842787+20644+760289+20852+447847+21112+182104+21164+992792+21268+703575+21268+309534+21268+1012429+21424+892063+21424+266997+21580+359929+21580+1041624+21788+279498+21788+24647+21892+90399+22048+893855+22048+172022+22048+310489+22048+583008+22048+934955+22152+59961+22256+389416+22776+131535+22984+504298+22984+752282+22984+336834+23036+898447+23036+492147+23036+344429+23608+945707+23608+746705+23816+625006+23868+438882+23868+827926+23868+797608+23868+507090+24284+887881+24284+720315+24284+162898+24284+179856+24284+567166+24440+282742+24544+605801+24544+791852+24544+795640+24544+825073+24544+118846+24596+185880+24596+756240+24596+13701+24596+545229+24648+259755+24648+843175+24856+498868+24960+632237+25168+484876+25272+370260+25324+623830+25532+886091+25792+496434+25792+379764+25792+622658+25792+442834+25792+329981+26000+100477+26052+800449+26208+979152+26208+460088+26364+542160+26364+583886+26520+414265+26520+534784+26520+558726+26520+545229+26572+178026+26572+246570+26780+583220+26936+189987+26936+45110+26936+846924+27300+573487+27664+777655+27664+256181+27716+321650+27716+694371+27768+396263+27768+188495+27872+360703+27872+642904+28028+583122+28028+916216+28132+367009+28132+1004127+28288+103298+28288+656832+28340+803952+28392+909616+28392+656832+28444+64641+28444+702079+28652+1015277+28704+785893+28704+533554+28756+139184+28756+430647+28756+670987+28808+119077+28808+448292+28808+506050+28860+995726+28860+999849+28860+838206+28860+471845+28860+311415+29068+934745+29120+456165+29120+662718+29120+1010288+29484+324491+29588+923003+29588+117982+29588+534784+29588+169517+29588+545229+29640+317319+29640+952353+29796+625296+29796&qt=/hashq&wt=standard&rows=10&version=2.2} hits=127061 status=0 QTime=159 -Feb 18, 2011 1:50:15 AM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=297240+10036+31141+10036+354787+10036+869887+10036+446822+10036+677280+10088+357495+10088+468708+10088+798049+10088+251329+10140+219483+10192+839544+10192+774874+10192+1008658+10192+625744+10244+528571+10244+289374+10244+435087+10244+780825+10296+476827+10348+158046+10400+222759+10400+311447+10452+83503+10452+68449+10452+553119+10504+987478+10504+465295+10504+587650+10504+429767+10504+536617+10712+845740+10816+160843+11024+653544+11076+853103+11076+606067+11076+439037+11076+109578+11128+62941+11128+10763+11284+748951+11336+371198+11336+569686+11544+906932+11544+222681+11596+710195+11596+659950+11596+234720+11596+893234+11596+1026629+11856+552125+12116+709697+12116+235205+12116+958990+12168+917036+12168+47276+12376+883142+12376+773771+12688+703531+12688+325567+12688+99564+12688+272364+12688+476101+13208+36467+13208+357539+13208+577876+13208+691458+13520+232337+13780+277719+13780+293336+13780+952083+13780+866522+13780+973620+14040+603855+14300+953664+14300+499956+14300+223217+14352+190226+14352+985160+14612+471684+14820+1023771+14872+1203+14872+625830+14872+1040334+14872+95476+15392+611587+15392+426286+15392+525390+15704+342109+15704+959667+15704+740413+15704+673826+15912+404671+15964+400077+15964+472798+15964+700765+15964+55644+15964+709847+16484+416754+16484+478974+16484+267133+16536+984877+16536+552309+17056+600852+17056+934712+17056+788614+17056+299665+17056+647743+17576+324536+17576+120341+17576+528464+17628+191006+17680+158263+17836+714444+17836+403409+17888+657990+17888+695539+17888+279407+17992+877563+18096+744595+18096+88766+18096+512503+18148+991494+18148+985252+18356+961705+18408+722710+18460+549159+18512+1040306+18512+541896+18564+293491+18564+217358+18668+35188+18668+489421+18668+325902+19240+461403+19240+1042522+19240+110290+19240+876621+19240+670329+19760+187115+19760+68380+20020+753389+20020+411503+20072+535055+20072+763826+20280+165196+20280+1017755+20280+1035219+20280+793109+20280+390914+20332+521682+20852+940407+20852+148141+20852+886718+21372+342645+21372+452902+21424+183861+21424+370860+21424+1003912+21424+396227+21424+107522+21944+265849+21944+659647+21944+801324+21944+950841+22204+257509+22204+982421+22256+819699+22308+225016+22308+677399+22308+557073+22360+90468+22360+825821+22412+80161+22412+931969+22464+183870+22464+745337+22464+140892+22516+156977+22516+429631+22776+686093+22776+966252+22828+821259+22828+853991+22828+173045+23036+85626+23036+771872+23036+902953+23296+513070+23296+85952+23400+112600+23400+152780+23400+747750+23556+8669+23556+104448+23556+618735+23556+478463+23556+1010754+23608+520382+24128+634014+24128+537042+24388+137169+24648+215693+24648+247375+24648+786072+24648+508063+24648+776045+24700+884867+24700+612249+25220+172778+25220+482577+25272+929227+25480+656617+25740+416721+25740+156873+25740+325567+25740+585315+25740+234720+25792+42953+25792+329278+26312+450626+26312+938100+26312+669339+26312+912862+26572+249993+26780+573592+26832+449934+26832+945874+26832+74386+26832+578076+26832+620219+27352+466716+27352+844485+27404+551935+27404+361513+27612+694411+27664+225393+27664+375140+27768+320762+27768+128507+27924+427715+27924+652362+27924+63509+27924+481092+27924+294435+28444+723861+28496+959843+28496+317932+28704+480388+28756+773464+28756+931599+29016+64300+29016+987659+29016+488905+29016+646195+29016+61006+29536+916771+29536+651660+29536+213413+29588+1001877+29588+560891+29588+462910+29796&qt=/hashq&wt=standard&rows=10&version=2.2} hits=124908 status=0 QTime=126 -Feb 19, 2011 7:04:30 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=299758+10036+262043+10036+169217+10036+488347+10036+872776+10036+830720+10088+504999+10088+919728+10088+202272+10088+202869+10088+19375+10140+955066+10140+190170+10140+482001+10140+238652+10140+420780+10192+22003+10192+949+10192+531112+10192+576788+10192+701297+10244+22156+10244+756718+10244+29231+10244+609750+10296+950177+10296+306088+10296+1017019+10348+920449+10348+935037+10400+491608+10400+640668+10400+801114+10400+106473+10452+53167+10452+826036+10452+284349+10452+1040631+10452+610059+10556+404173+10608+461447+10660+469357+10816+765135+10816+851593+10868+1508+10920+552058+10920+562505+10972+615901+10972+949197+11128+519763+11128+214447+11128+610168+11232+532254+11232+674969+11232+1012344+11336+733172+11544+237292+11596+661453+11648+677790+11700+314281+11700+207558+11752+450090+11752+234278+11752+787350+11752+527168+11752+731953+11856+2766+11856+155281+11908+860960+11908+471924+11908+320413+12012+787087+12012+35859+12272+828108+12272+798323+12532+626873+12532+426313+12532+899693+12532+807994+12636+674276+12688+750613+12740+470607+12740+404518+12792+289666+12844+225818+13052+1031777+13052+284483+13052+525463+13052+170782+13156+998799+13156+838190+13208+819514+13208+916657+13572+614989+13780+580000+13780+672690+13780+537513+13832+599187+13832+902189+13832+544489+13832+929645+14040+354787+14092+264248+14092+822846+14300+635648+14352+333997+14352+167226+14352+76771+14456+806182+14768+35043+14768+917732+14768+430867+14768+543056+14768+849173+15028+754727+15080+371698+15184+522304+15288+38904+15288+781715+15288+820321+15392+591382+15704+798306+15704+367153+15704+691331+15756+382186+15756+370505+15756+373209+15808+125714+15860+263184+15860+125714+15912+538843+15912+1019396+16016+516061+16016+306207+16016+225682+16016+463671+16276+283704+16276+1019725+16328+512957+16328+840798+16328+250975+16328+260339+16380+250975+16380+207042+16432+566846+16484+749932+16796+125714+16848+693970+16848+490887+16848+486017+16900+612512+16952+393663+16952+955718+16952+486723+17004+233157+17264+553647+17264+400697+17420+937703+17576+275386+17576+344618+17576+600190+17628+335026+17628+966684+17628+250975+17628+116830+18096+328277+18304+190627+18512+672836+18512+140319+18564+608598+18616+1022508+18824+301655+18824+273640+18824+274836+18824+349338+18824+445163+18876+438938+18876+838721+18876+928192+18980+214089+18980+734739+19136+865600+19448+42250+19448+601972+19500+234255+19760+454663+19760+67634+19760+679038+19916+378628+19916+498960+20072+469877+20072+1019900+20072+502423+20072+758487+20228+748784+20280+415814+20436+216860+20436+238830+20488+349420+20540+1016069+20540+261691+20540+467153+20696+866155+20696+1024672+20852+859721+20956+410183+20956+874327+21008+508651+21008+559347+21008+3720+21008+609496+21060+802191+21112+400061+21164+692905+21268+1010178+21268+428248+21320+729013+21320+952667+21320+1000653+21684+256289+21788+62941+21840+617437+21944+1024669+22256+775182+22256+1030323+22256+143258+22516+278322+22568+1001956+22568+268014+23192+36605+23192+683097+23192+524301+23452+697974+23452+288361+23452+356361+23504+480100+23504+380359+23504+327741+23712+235281+23764+787603+23816+670535+23816+814108+23816+535518+23920+184567+24284+538848+24284+656154+24388+512459+24440+830506+24492+3196+24700+1013752+24700+939866+24752+811054+24752+526306+24804+968890+24804+463064+25012+436073+25064+764743+25428+454195+25480+998385+25636+318944+25636+103365+25636+466325+25636+1035417+25688+835015+25948+591719+25948+609384+26260+698070+26260+128527+26260+756329+26676+292775+26780+427816+26780+940017+26780+994584+26780+798244+26884+633385+26988+325103+27196+911327+27248+710700+27300+995863+27508+547958+27508+822846+27508+223210+27508+570396+27508+270189+27560+471194+27560+427960+27560+307606+27664+924475+27664+81222+27820+197566+27976+847623+27976+866937+28132+730734+28132+516622+28132+208266+28132+493370+28444+269437+28444+415923+28444+529626+28444+378135+28704+501377+28704+1023888+28704+735379+28756+526951+28756+91934+28808+444545+28808+1015689+28808+2889+28964+291623+28964+897553+29380+406077+29380+860648+29640+13301+29692+742963+29692+190802+29744+858734+29952+17419+29952+259143+29952&qt=/hashq&wt=standard&rows=10&version=2.2} hits=127954 status=0 QTime=157 -Feb 26, 2011 3:07:55 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=677270+10036+180788+10036+867260+10036+634748+10036+831878+10036+502754+10088+1026958+10088+56794+10088+787702+10088+932538+10088+490408+10140+1006882+10140+802386+10140+877955+10192+877955+10244+96123+10244+506577+10244+407200+10244+292223+10296+1024087+10296+877955+10296+384479+10348+291274+10348+228192+10348+709902+10504+125121+10504+891227+10504+599772+10504+86714+10504+35518+10556+705500+10660+84262+10660+305611+10712+419170+10712+703541+10712+260560+10712+247377+10712+473160+10764+420986+10868+371654+10868+444833+10868+180544+10920+541061+10920+827940+10972+630216+11076+15082+11076+344044+11128+1029671+11128+878303+11180+158694+11232+121861+11232+803290+11232+828301+11440+464745+11596+153749+11648+676846+11648+446124+11648+865743+11648+116559+11804+191381+11856+387126+11908+629240+11908+729459+11960+952805+12376+911304+12376+350967+12376+833190+12428+114482+12428+984337+12428+833190+12480+644221+12532+586835+12532+40887+12584+932518+12740+155986+12792+780105+12948+972210+13052+570596+13156+594461+13156+367821+13156+255144+13312+71064+13312+2006+13364+309522+13520+890855+13624+300394+13624+929788+13624+129311+13676+990114+13676+229546+13728+685204+13728+613741+13936+623157+14144+561801+14144+167906+14456+667541+14456+254021+14508+454521+14664+768070+14664+203186+14768+373804+14820+691520+14820+691512+14820+357053+15028+739450+15028+917512+15340+673995+15340+283862+15392+869214+15444+1011156+15444+485988+15496+740993+15496+485988+15548+1032926+15548+968082+15600+803431+15704+415189+15756+713301+15756+494440+15756+981853+15756+807265+15808+389136+15808+984442+15860+31317+15964+626675+15964+808197+16016+439507+16016+540512+16172+40542+16172+476648+16172+742451+16276+44655+16276+494440+16328+388769+16328+19855+16380+250999+16432+197486+16536+86238+16536+124380+16744+539806+16744+560368+16744+304064+16744+748557+16952+920790+16952+649092+17108+868123+17160+871043+17472+613645+17472+759715+17680+208581+17732+686654+17732+169228+17784+155986+17784+129093+18252+792032+18252+1033100+18304+195989+18304+411171+18356+866038+18408+541433+18408+722710+18408+791016+18616+687013+18616+427320+18928+428659+18980+95229+18980+503501+18980+358457+19032+284392+19032+5299+19032+533679+19188+270629+19396+234212+19552+103911+19552+726183+19552+564614+19760+237114+19760+118772+19760+349512+19968+691574+19968+830021+19968+799674+19968+553308+20072+103181+20124+424769+20124+372787+20176+155177+20332+414178+20332+165642+20592+622287+20904+859126+21060+259503+21060+129093+21060+718276+21112+641553+21112+316113+21164+782223+21216+920790+21268+886357+21268+357273+21268+832002+21476+818210+21476+653121+21476+804472+21632+825096+21684+237250+22204+234479+22204+341735+22256+516554+22256+84490+22412+471450+22412+482108+22412+553485+22412+518680+22412+974622+22464+494440+22464+97237+22516+494440+22516+974119+22828+577986+22984+494130+22984+938528+23140+403378+23140+215584+23192+386054+23348+916677+23348+62583+23504+102067+23556+906958+23556+374774+23920+708943+23920+298536+24492+946640+24648+453329+24700+101801+24700+1022200+24700+649356+24752+212376+24804+91809+24856+575423+24856+713135+24856+580632+24908+657589+25064+925834+25064+232404+25220+344213+25220+647774+25272+979553+25272+12335+25272+705343+25324+209986+25324+187+25428+353390+25636+449262+25636+485054+25688+234177+26000+255014+26156+35125+26208+370663+26208+149356+26208+880374+26208+699858+26260+99056+26260+927701+26260+867260+26260+828489+26312+454358+26312+927701+26312+134248+26364+890077+26364+172303+26364+241717+26364+639419+26364+1038500+26572+526986+26572+275346+26780+828301+26780+165269+27300+789238+27300+26974+27300+532535+27352+716043+27508+481836+27508+463175+27508+226117+27664+726206+27664+570786+27664+797746+27716+235031+27716+677267+27716+274046+27768+1028788+27872+985985+27872+827147+27872&qt=/hashq&wt=standard&rows=10&version=2.2} hits=128288 status=0 QTime=294 -Feb 26, 2011 3:08:50 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=677270+10036+180788+10036+867260+10036+634748+10036+831878+10036+502754+10088+1026958+10088+56794+10088+787702+10088+932538+10088+490408+10140+1006882+10140+802386+10140+877955+10192+877955+10244+96123+10244+506577+10244+407200+10244+292223+10296+1024087+10296+877955+10296+384479+10348+291274+10348+228192+10348+709902+10504+125121+10504+891227+10504+599772+10504+86714+10504+35518+10556+705500+10660+84262+10660+305611+10712+419170+10712+703541+10712+260560+10712+247377+10712+473160+10764+420986+10868+371654+10868+444833+10868+180544+10920+541061+10920+827940+10972+630216+11076+15082+11076+344044+11128+1029671+11128+878303+11180+158694+11232+121861+11232+803290+11232+828301+11440+464745+11596+153749+11648+676846+11648+446124+11648+865743+11648+116559+11804+191381+11856+387126+11908+629240+11908+729459+11960+952805+12376+911304+12376+350967+12376+833190+12428+114482+12428+984337+12428+833190+12480+644221+12532+586835+12532+40887+12584+932518+12740+155986+12792+780105+12948+972210+13052+570596+13156+594461+13156+367821+13156+255144+13312+71064+13312+2006+13364+309522+13520+890855+13624+300394+13624+929788+13624+129311+13676+990114+13676+229546+13728+685204+13728+613741+13936+623157+14144+561801+14144+167906+14456+667541+14456+254021+14508+454521+14664+768070+14664+203186+14768+373804+14820+691520+14820+691512+14820+357053+15028+739450+15028+917512+15340+673995+15340+283862+15392+869214+15444+1011156+15444+485988+15496+740993+15496+485988+15548+1032926+15548+968082+15600+803431+15704+415189+15756+713301+15756+494440+15756+981853+15756+807265+15808+389136+15808+984442+15860+31317+15964+626675+15964+808197+16016+439507+16016+540512+16172+40542+16172+476648+16172+742451+16276+44655+16276+494440+16328+388769+16328+19855+16380+250999+16432+197486+16536+86238+16536+124380+16744+539806+16744+560368+16744+304064+16744+748557+16952+920790+16952+649092+17108+868123+17160+871043+17472+613645+17472+759715+17680+208581+17732+686654+17732+169228+17784+155986+17784+129093+18252+792032+18252+1033100+18304+195989+18304+411171+18356+866038+18408+541433+18408+722710+18408+791016+18616+687013+18616+427320+18928+428659+18980+95229+18980+503501+18980+358457+19032+284392+19032+5299+19032+533679+19188+270629+19396+234212+19552+103911+19552+726183+19552+564614+19760+237114+19760+118772+19760+349512+19968+691574+19968+830021+19968+799674+19968+553308+20072+103181+20124+424769+20124+372787+20176+155177+20332+414178+20332+165642+20592+622287+20904+859126+21060+259503+21060+129093+21060+718276+21112+641553+21112+316113+21164+782223+21216+920790+21268+886357+21268+357273+21268+832002+21476+818210+21476+653121+21476+804472+21632+825096+21684+237250+22204+234479+22204+341735+22256+516554+22256+84490+22412+471450+22412+482108+22412+553485+22412+518680+22412+974622+22464+494440+22464+97237+22516+494440+22516+974119+22828+577986+22984+494130+22984+938528+23140+403378+23140+215584+23192+386054+23348+916677+23348+62583+23504+102067+23556+906958+23556+374774+23920+708943+23920+298536+24492+946640+24648+453329+24700+101801+24700+1022200+24700+649356+24752+212376+24804+91809+24856+575423+24856+713135+24856+580632+24908+657589+25064+925834+25064+232404+25220+344213+25220+647774+25272+979553+25272+12335+25272+705343+25324+209986+25324+187+25428+353390+25636+449262+25636+485054+25688+234177+26000+255014+26156+35125+26208+370663+26208+149356+26208+880374+26208+699858+26260+99056+26260+927701+26260+867260+26260+828489+26312+454358+26312+927701+26312+134248+26364+890077+26364+172303+26364+241717+26364+639419+26364+1038500+26572+526986+26572+275346+26780+828301+26780+165269+27300+789238+27300+26974+27300+532535+27352+716043+27508+481836+27508+463175+27508+226117+27664+726206+27664+570786+27664+797746+27716+235031+27716+677267+27716+274046+27768+1028788+27872+985985+27872+827147+27872&qt=/hashq&wt=standard&rows=10&version=2.2} hits=128288 status=0 QTime=323 -Feb 26, 2011 3:12:02 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=677270+10036+180788+10036+867260+10036+634748+10036+831878+10036+502754+10088+1026958+10088+56794+10088+787702+10088+932538+10088+490408+10140+1006882+10140+802386+10140+877955+10192+877955+10244+96123+10244+506577+10244+407200+10244+292223+10296+1024087+10296+877955+10296+384479+10348+291274+10348+228192+10348+709902+10504+125121+10504+891227+10504+599772+10504+86714+10504+35518+10556+705500+10660+84262+10660+305611+10712+419170+10712+703541+10712+260560+10712+247377+10712+473160+10764+420986+10868+371654+10868+444833+10868+180544+10920+541061+10920+827940+10972+630216+11076+15082+11076+344044+11128+1029671+11128+878303+11180+158694+11232+121861+11232+803290+11232+828301+11440+464745+11596+153749+11648+676846+11648+446124+11648+865743+11648+116559+11804+191381+11856+387126+11908+629240+11908+729459+11960+952805+12376+911304+12376+350967+12376+833190+12428+114482+12428+984337+12428+833190+12480+644221+12532+586835+12532+40887+12584+932518+12740+155986+12792+780105+12948+972210+13052+570596+13156+594461+13156+367821+13156+255144+13312+71064+13312+2006+13364+309522+13520+890855+13624+300394+13624+929788+13624+129311+13676+990114+13676+229546+13728+685204+13728+613741+13936+623157+14144+561801+14144+167906+14456+667541+14456+254021+14508+454521+14664+768070+14664+203186+14768+373804+14820+691520+14820+691512+14820+357053+15028+739450+15028+917512+15340+673995+15340+283862+15392+869214+15444+1011156+15444+485988+15496+740993+15496+485988+15548+1032926+15548+968082+15600+803431+15704+415189+15756+713301+15756+494440+15756+981853+15756+807265+15808+389136+15808+984442+15860+31317+15964+626675+15964+808197+16016+439507+16016+540512+16172+40542+16172+476648+16172+742451+16276+44655+16276+494440+16328+388769+16328+19855+16380+250999+16432+197486+16536+86238+16536+124380+16744+539806+16744+560368+16744+304064+16744+748557+16952+920790+16952+649092+17108+868123+17160+871043+17472+613645+17472+759715+17680+208581+17732+686654+17732+169228+17784+155986+17784+129093+18252+792032+18252+1033100+18304+195989+18304+411171+18356+866038+18408+541433+18408+722710+18408+791016+18616+687013+18616+427320+18928+428659+18980+95229+18980+503501+18980+358457+19032+284392+19032+5299+19032+533679+19188+270629+19396+234212+19552+103911+19552+726183+19552+564614+19760+237114+19760+118772+19760+349512+19968+691574+19968+830021+19968+799674+19968+553308+20072+103181+20124+424769+20124+372787+20176+155177+20332+414178+20332+165642+20592+622287+20904+859126+21060+259503+21060+129093+21060+718276+21112+641553+21112+316113+21164+782223+21216+920790+21268+886357+21268+357273+21268+832002+21476+818210+21476+653121+21476+804472+21632+825096+21684+237250+22204+234479+22204+341735+22256+516554+22256+84490+22412+471450+22412+482108+22412+553485+22412+518680+22412+974622+22464+494440+22464+97237+22516+494440+22516+974119+22828+577986+22984+494130+22984+938528+23140+403378+23140+215584+23192+386054+23348+916677+23348+62583+23504+102067+23556+906958+23556+374774+23920+708943+23920+298536+24492+946640+24648+453329+24700+101801+24700+1022200+24700+649356+24752+212376+24804+91809+24856+575423+24856+713135+24856+580632+24908+657589+25064+925834+25064+232404+25220+344213+25220+647774+25272+979553+25272+12335+25272+705343+25324+209986+25324+187+25428+353390+25636+449262+25636+485054+25688+234177+26000+255014+26156+35125+26208+370663+26208+149356+26208+880374+26208+699858+26260+99056+26260+927701+26260+867260+26260+828489+26312+454358+26312+927701+26312+134248+26364+890077+26364+172303+26364+241717+26364+639419+26364+1038500+26572+526986+26572+275346+26780+828301+26780+165269+27300+789238+27300+26974+27300+532535+27352+716043+27508+481836+27508+463175+27508+226117+27664+726206+27664+570786+27664+797746+27716+235031+27716+677267+27716+274046+27768+1028788+27872+985985+27872+827147+27872&qt=/hashq&wt=standard&rows=10&version=2.2} hits=128288 status=0 QTime=186 -Mar 8, 2011 4:16:09 AM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=182478+10036+922330+10036+605547+10036+623789+10088+200447+10088+262091+10140+527771+10140+983885+10140+561704+10140+642619+10140+766784+10244+487859+10296+694721+10452+554624+10452+6823+10452+163939+10452+33619+10452+605547+10504+660034+10504+133104+10504+411875+10504+979553+10504+411875+10556+979553+10556+411875+10608+979553+10608+1017817+10608+411875+10660+979553+10660+309503+10712+907381+10712+388827+10712+985974+10764+416363+10764+408806+10764+329139+10764+1023584+10764+253296+11232+144282+11232+1004127+11388+136199+11388+707212+11440+666757+11440+243931+11440+862063+11700+896116+11700+424508+11700+437952+11700+280228+11752+646314+11752+916293+11752+953123+11804+511571+11804+521623+11856+684728+11908+229434+11960+244424+12012+362418+12012+805353+12012+581650+12012+442663+12012+922892+12636+476348+12636+773458+12636+896125+12636+19965+12636+767517+12688+995505+12688+260463+12740+79959+12740+296440+13260+1037018+13260+879651+13260+178808+13312+134426+13312+155326+13312+44120+13780+253296+13780+83330+13780+1004127+13936+780902+13936+872925+13936+335348+14196+845828+14196+491483+14248+719928+14248+436135+14560+720603+14560+225941+14560+465425+14560+843615+14560+740969+15184+745206+15184+216410+15184+612909+15184+939628+15496+101046+15548+490148+15548+253215+15548+877316+15808+756166+15808+884236+15808+100652+15808+203143+16328+359321+16328+615882+16484+305934+16484+991195+16484+790266+16640+1001306+16796+965182+16796+969681+16848+626744+16952+649663+17108+303258+17108+237684+17108+378466+17108+843342+17108+399599+17732+516357+17732+135005+17732+177474+17732+125920+18044+336519+18044+629499+18096+804325+18096+605547+18096+383384+18356+1041307+18356+851770+18356+150645+18356+551544+18356+211236+18876+806610+18876+197888+19032+979794+19032+869523+19032+764102+19084+235036+19084+405916+19084+876667+19188+925857+19240+425287+19240+538748+19240+540301+19344+144679+19656+671865+19656+983741+19656+723873+19656+265140+19656+529040+19760+879788+20020+320413+20176+197334+20176+25474+20280+192908+20280+280391+20280+725105+20904+682767+20904+894846+20904+178808+20956+999695+20956+253296+21424+429685+21424+78779+21424+1036332+21580+557958+21580+642516+21632+15286+21892+872684+21892+78537+21892+75826+21892+213768+21892+222292+21944+187626+21944+687403+21996+597220+22204+167887+22204+582171+22204+843615+22204+534812+22204+896727+22256+301713+22828+809533+22828+596625+22880+56272+22880+55921+23504+382180+23504+862375+23504+111262+23504+872183+23504+431241+23556+142377+23816+532373+23816+600399+23920+1013296+23972+327523+23972+912540+24024+1032412+24076+849589+24128+545397+24128+165798+24128+353248+24180+251451+24336+367639+24336+211308+24544+39080+24596+718577+24648+761270+24700+407121+24752+625799+24752+287381+24752+811049+24752+988101+25064+367920+25116+285100+25116+274363+25168+1007519+25220+877223+25220+372686+25272+968532+25324+667735+25428+807540+25428+467544+25428+589765+25428+994856+26052+653119+26052+785807+26052+675377+26052+385483+26052+253296+26520+989873+26520+479273+26676+778932+26988+257991+26988+843249+26988+184093+26988+262043+27040+781313+27040+670145+27352+412631+27352+31673+27352+378466+27352+685307+27352+135005+27976+306074+27976+417519+27976+710083+27976+232818+27976+975974+28028+605547+28028+923877+28028+603754+28080+148334+28132+342841+28132+132960+28132+432275+28340+143892+28340+730488+28340+843790+28652+914448+28652+550721+28652+1032757+28652+238347+28652+250349+29120+58066+29120+481903+29224+637263+29276+595842+29276+150882+29328+145283+29380+644424+29588+106575+29640+522108+29692+1025268+29744+181011+29744+876671+29900+380650+29900+787452+29900+150645+29900+987824+29900&qt=/hashq&wt=standard&rows=10&version=2.2} hits=127133 status=0 QTime=143 -Mar 15, 2011 3:33:52 AM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=224397+10036+464442+10036+544839+10036+51956+10036+296191+10036+871930+10088+767458+10088+771869+10088+650760+10088+517176+10088+366697+10452+78960+10452+690996+10556+319517+10556+179841+10556+888305+10556+35290+10556+809572+10608+723153+10608+302308+11076+924639+11076+396108+11076+707019+11076+912506+11076+376676+11596+182815+11596+89082+11596+240330+11596+899598+11596+828894+11648+236034+12012+71137+12116+902839+12116+527437+12116+698861+12116+773621+12116+270243+12584+430795+12636+182815+12636+959415+12636+935423+12636+560778+12636&qt=/hashq&wt=standard&rows=10&version=2.2} hits=74052 status=0 QTime=21 -Mar 15, 2011 3:35:06 AM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=136231+5044+142311+5044+262342+5044+716847+5044+36250+5044+116401+5096+350438+5096+630225+5096+282198+5148+749589+5148+1025894+5148+283939+5200+575076+5200+977804+5200+216421+5252+579924+5252+894803+5252+775524+5252+1015945+5304+970323+5304+163246+5304+426381+5408+685253+5408+655054+5460+63009+5460+968582+5460+465701+5460+343918+5460+231041+5512+488724+5512+290011+5512+881249+5512+826033+5512+904309+5564+37048+5564+781279+5564+472844+5564+385199+5564+664443+5616+1023932+5616+156472+6084+97304+6084+292426+6084+794841+6084+460607+6344+299382+6552+111167+6604+978511+6604+568040+6604+811464+6604+694761+6604+420873+6864+262043+6916+818426+6916+65101+7124+329520+7124+720227+7124+800719+7644+638202+7644+736602+7644+790151+7644+406995+8164+370764+8164+755098+8164+648495+8164+794740+8580+370505+8632+910436+8632+17543+8632+244927+8632+139937+8632+528111+8684+425484+8684+668601+8684+302308+9152+677429+9152+587870+9152+107295+9152+59925+9152+188738+9204+266849+9204+617422+9516+252962+9620+989097+9620+117208+9672+1013494+9672+182033+9672+322699+9672+430884+9672+690378+9724+354817+9724+231302+10192+392225+10192+53492+10192+66157+10192+852814+10192+257661+10712+578972+10712+745427+10712+403908+10712+17877+10712+468069+11232+117345+11232+306096+11232+155274+11232+696525+11232+707178+11492+626090+11752+449654+11752+329330+11752+726481+11752+596492+11752+285558+11908+726543+12012+1019396+12116+125714+12168+277240+12220+179792+12220+117116+12272+766986+12272+115871+12532+21242+12740+954245+12740+626090+12792+133120+12792+136174+12792+292164+13156+681599+13260+109548+13260+437022+13260+527520+13260+762514+13572+513056+13572+560181+13780+159500+13780+1026274+13780+408780+13780+727342+14300+203528+14300+1023528+14300+368288+14300+888305+14820+696031+14820+1018094+14820+187465+14820+1660+14872+436666+15080+796172+15080+1010481+15340+1017447+15340+462488+15340+463520+15340+475586+15340+400108+15600+432253+15600+268421+15860+822383+15860+161575+15860+550251+16328+687687+16328+234212+16328+951724+16328+540484+16328+255819+16848+592784+16848+782147+16848+962747+16848+133120+16848+340855+17368+277670+17368+714372+17368+196585+17368+222726+17368+376523+17420+720551+17628+1018094+17888+181501+17888+782413+17888+699706+18096+327188+18408+937957+18408+805283+18408+292426+18408+726907+18408+2926+18928+630173+18928+118571+18928+725484+18928+107428+18928+924278+18980+163504+19240+262043+19292+412189+19448+531259+19448+577292+19448+438465+19448+213231+19448&qt=/hashq&wt=standard&rows=10&version=2.2} hits=122151 status=0 QTime=180 -Mar 23, 2011 8:24:16 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&start=0&q=*:*&wt=json&bc=None&cf=None&fq=&ct=artists&rows=10&version=2.2} hits=130116 status=0 QTime=41 -Mar 30, 2011 3:38:59 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select/ params={indent=on&start=0&q=*:*&version=2.2&rows=10} hits=130116 status=0 QTime=10 -Mar 30, 2011 3:39:15 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/admin/file/ params={file=schema.xml} status=0 QTime=1 -Mar 30, 2011 5:43:24 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select/ params={indent=on&start=0&q=*:*&version=2.2&rows=10} hits=130116 status=0 QTime=1 -Mar 31, 2011 5:33:58 PM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select/ params={indent=on&start=0&q=*:*&version=2.2&rows=10} hits=130116 status=0 QTime=1 -Apr 3, 2011 3:01:29 AM org.apache.solr.core.SolrCore execute -INFO: [fp] webapp=/solr path=/select params={echoParams=none&fl=*,score&q=171916599+0+312643535+224+773105827+640+945521962+1088+987633377+1504+1003403141+1728+171897773+1984+1048743868+2304+139436195+2368+656544744+2816+67750020+3008+638648946+3616+446268480+4480+672573025+4800+327812521+4928+171238017+5120+323128632+5312+658821283+5728+477745460+6144+510074484+6400+1010276807+6592+375328230+6752+374708163+7008+441816421+7392+856069477+7712+442286501+7840+327587632+8288+374661541+8512+858101048+8704+856476005+9120+249348914+9568+171161392+9792+575835373+10400+739808419+10816+602605093+11232+668531393+11456+327808574+11680+28631677+11904+379612472+12064+659925019+12448+177853802+12800+609396341+12928+308876457+13120+721721925+13376+787136806+13440+419150512+13632+638992110+13792+882476431+14208+240985697+14464+602117961+14624+189331685+14976+28496446+15104+825257140+15296+639388699+15808+90801939+15936+1022450273+16192+621755478+16352+202982351+16608+768804432+16800+787182785+16928+878426845+17024+403511022+17312+882246469+17664+826090880+17760+446451529+18016+698787603+18080+327838121+18432+148169370+18752+402797880+18944+354812045+19200+840255872+19360+330073426+19616+267709217+19776+342097210+20032+418715903+20224+162938182+20384+284323215+20480+409222299+20640+171317519+20928+448957830+21088+1049014435+21312+832545196+21472+729573352+21760+163241753+21888+1048735415+22144+375365787+22336+454399976+22560+1010222437+22784+875498929+23168+1903555+23456+817891138+23648+443297793+23808+806787852+24064+882640294+24192+826091265+24512+773607241+24608+770410259+24928+327908065+25376+402973406+25600+171311416+25760+419597696+26048+558252195+26208+602427792+26656+892926484+26848+515722814+27072+1049079635+27296+280994283+27424+806629352+27648+639370507+27904+148473601+27968+140654177+28224+540153997+28320+171445382+28832+171085315+28992+24284323+29440+97541283+29600+443642903+30048+753310813+30272+327891367+30464+311747278+30624+987014456+30880+171881769+31328+418549677+31392+696663203+31520+591028623+31744+186175128+31904+944948787+32128+328078513+32224+758440837+32384+171658552+32576+408063699+32864+546706595+32992+900212101+33344+848128521+33440+769434458+33664+602634024+33888+787020509+34016+799783486+34112+711715566+34304+477797114+34752+973545126+35008+727613895+35200+85645216+35328+572606133+35808+447252561+36064+464955938+36288+159837610+36448+603087291+36768+966327448+36896+783181375+37120+973843353+37312+602833642+37536+377027488+37728+105225790+38176+849449319+38592+700229732+38912+868904746+39104+123531931+39232+602003260+39456+138999925+39680+464654910+39872+244771972+40032+75736507+40160+71377129+40288+423694408+40512+354832452+40608+547703188+40768+825764178+41120+171724298+41312+638750483+41568+797541539+41824+41673313+42016+837852920+42400+327973927+42528+408216351+42688+171316536+42880+140676485+43104+672274595+43296+139068550+43712+71438977+43904+786501764+44160+85702724+44352+166807278+44608+140672081+44928+477239455+45056+849812614+45184+602712519+45440+752417578+45696+163264062+45856+67268301+46080+170983579+46272+1048742976+46496+208642211+46720+105061352+47136+563187910+47296+699950180+47584+729443865+47808+964353691+47968+290348727+48256+1063539607+48448+621795604+48576+171525110+48896+1063423568+49088+418371747+49376+1063664630+49536+869259662+49728+80540662+49984+207696700+50144+408098892+50592+638981318+50816+508134789+51008+1000837729+51104+396290532+51232+463857594+51840+639035769+52032+268010938+52224+333708897+52736+752154879+52896+81474878+53152+810628813+53344+61609037+53536+951118597+53792+141438010+53952+442637195+54144+53909638+54368+170970534+54784+171084851+54976+312642723+55264+105162915+55392+728863018+55648+327867492+56064+402973367+56320+171311416+56512+419597696+56800+52838563+56928+178309520+57344+657631282+57568+327797930+57856+919921267+58016+754824504+58144+210452333+58624+1012081359+58816+514790600+58976+973581253+59520+123634154+59712+511825824+59872+302489717+60160+30704104+60320+264271136+60576+523497501+60736+533187836+60960+1020785139+61120+29308412+61568+719351757+61760+212514843+61984+821242542+62304+870071498+62432+328005391+62848+408216381+63040+825627960+63264+892095877+63520+639453971+63648+454657874+63872+297191009+64000+289697201+64128+868503835+64288+356315412+64544+411389756+64768+284565843+64960+372522376+65376+477465871+65632+913775971+65760+328048071+66208+67429223+66400+170983736+66624+402820160+66880+429260963+67072+603350400+67392+139001241+67488+944902719+67744+712905860+67936+171614085+68160+379752103+68352+932554915+68800+105768298+69152+267490169+69216+327416932+69632+171237631+69856+409111864+70144+244717731+70464+1010017670+70944+171904233+71136+603099075+71744+145292451+72160+173156927+72640+975344778+72928+733907109+73056+573239202+73216+449350331+73472+932622882+73664+98428332+73888+445740921+74080+411477085+74240+602284457+74336+832108936+74528+787244606+74752+825998105+74976+375148270+75200+798332691+75616+765191525+75872+327902969+76064+171238105+76704+100830520+76896+741441699+77344+773524576+77760+1010534083+77984+171904737+78208+668110787+78592+250213539+79040+138656381+79456+670175470+79680+327810180+79904+28631679+80128+402681144+80320+420872219+80736+211174784+80992+56829329+81120+159439049+81408+138567734+81600+119672984+81760+440518788+81824+639012978+82016+171541924+82464+28479073+82528+549481635+82624+327692315+82912+402973196+83520+24510776+83712+834690432+84128+240939031+84512+465803036+84800+255258853+84992+409193916+85152+28711155+85440+104885638+85728+998346779+86304+189718628+86720+728945592+86944+171629748+87136+638750391+87392+825853091+87584+724323937+87904+739953427+88032+10159794+88256+904931009+88416+759004169+88832+403394399+89056+606470867+89280+99158400+89568+704739906+89760+163217502+90176+711093920+90368+171612315+90592+167939750+90816+500334755+91008+773289120+91424+606832093+91648+277416673+91872+506733122+92128+932678920+92288+1035855331+92640+639594361+92736+411666395+92832+403055201+92960+138805640+93152+828510592+93408+327964804+93536+526705430+93792+171432248+93984+402820598+94208+379977891+94432+838183296+94688+903642474+94848+769488671+95008+163280733+95296+784494301+95456+639348891+95680+825853676+95968+560746081+96128+725113619+97024+403361302+97184+638976691+97600+24741248+97824+511729249+98144+670539799+98240+306839016+98496+424972927+98688+970347812+98912+171865493+99104+477269917+99232+331816099+99680+718598599+99968+327857468+100416+758440621+100608+171658552+100832+171085523+101056+252873891+101248+821281955+101664+178011377+101888+72525583+102080+825300137+102304+1046236229+102496+961517331+102720+594432997+102976+1068030868+103264+966781494+103392+425617402+103808+868636569+103904+123531669+104064+446814012+104224+794208373+104480+485217706+104672+966212341+105120+343827918+105344+973414297+105536+99516743+105728+144800672+105920+443689054+106400+383163530+106560+966112679+106752+976119149+107136+869174169+107264+573371298+107424+447253308+107616+721857058+107904+268091818+108096+32767664+108480+1022393599+108736+602881055+108896+323550159+109056+972345918+109152+29261108+109376+448819103+109632+947302427+110048+303963564+110208+796166023+110368+163306785+110496+526544631+110848+171432091+111040+1048743414+111264+516923555+111488+359117800+111936+397761004+112096+593882454+112384+279501179+112544+768879158+112704+403404042+112960+117834461+113088+171032960+113248+477269104+113632+913775779+113888+163421639+114080+604139367+114304+28901531+114528+170946112+114752+445811739+114976+446080163+115200+510043561+115360+806853033+115648+200017382+115840+108198657+116032+447847614+116160+525773927+116256+267900331+116480+549715445+116704+171454719+116832+121802252+117120+921817251+117536+367901812+117792+868580207+117952+147648862+118240+1058157372+118432+992986252+118848+639552497+119072+508135346+119232+333943393+119392+1024784868+119552+682575166+119680+969550801+119936+464417418+120128+932637596+120384+268297658+120576+113508217+121024+751939839+121184+81474668+121440+868300493+121696+936177741+121888+85848892+122112+793855868+122304+745264209+122528+573250293+122720+354978502+122944+711281186+123136+1003133266+123584+825160358+124000+477907900+124256+729227026+124384+189455815+124544+526570167+124672+171432116+124864+1048743414+125152+982491299+125312+139371496+125760+537007016+125984+912785540+126176+226335232+126432+352542566+126496+739590359+126848+424346960+126976+754340545+127136+361446804+127488+503669455+127616+913801560+127808+811441632+127936+573314919+128096+799574789+128352+139192866+128544+159519482+128768+41050244+129056+555785368+129216+750274599+129440+603663890+129664+142147275+129792+758259263+130016+118180999+130208+454148819+130464+51823728+130784+894485937+131136+843928625+131296+712807253+131424+117088036+131552+28425895+131744+402680943+132032+119930907+132192+668060032+132448+832173170+132608+897345149+132864+792551193+133056+356241239+133248+739593971+133408+240846163+133504+171153089+133952+140676325+134144+728897699+134240+733666438+134368+163245751+135008+824340155+135200+171722907+135360+638750482+135488+429491363+135648+672556641+135968+139068825+136096+445780609+136320+4629636+136512+170922409+136768+312642564+136960+105162915+137376+728863018+137824+189455460+138272+171102903+138464+402820276+138752+527827107+139072+145218944+139520+1009920503+139744+740232330+139936+477824963+140352+949427905+140800+719201735+141248+163231625+141664+162688685+141824+786590875+142080+508278939+142272+639079150+142432+660178404+142528+606721633+142720+757664373+142880+139151938+142944+1034031826+143136+787441796+143392+171686874+143616+638750446+143808+417957027+144224+620116577+144544+61422990+144672+327215695+144928+171237434+145312+857902392+145536+249350307+145952+138655538+146368+1009914093+146592+446631044+146816+203859907+147232+347277737+147648+347417794+148096+42282315+148320+998285643+148416+328130600+148512+171238328+148704+659721528+148928+420074659+149376+326517365+149728+919920016+149824+541963575+150016+526914413+150240+303553028+150496+638879222+150624+53052705+150912+402704993+151328+110493746+151488+658613632+151776+163172457+151936+1048735348+152192+403677339+152352+638977000+152608+882476416+152768+489498209+153056+770132809+153216+670792146+153440+1034551006+153568+204434047+153664+825428954+154048+411847874+154272+932586259+154496+949872008+154944+426649465+155200+162945929+155392+408055190+155552+171316379+155808+882019717+156000+757933219+156224+1023101769+156704+458178258+156896+72799183+157120+891360692+157280+409815109+157536+28711762+157760+557870470+157952+325603355+158400+327473684+158848+28631350+159008+402681144+159200+638976027+159488+419005824+159648+678837857+159968+534388111+160096+1035466375+160256+835677693+160480+494695387+160736+140992284+160928+411179479+161120+138813574+161376+567415176+161760+163083396+162240+402812445+162432+403046555+162624+882246016+162880+419243392+163104+219561801+163520+62080399+163776+1009839313+164032+373230651+164224+409309123+164384+148248931+164576+507655558+164800+138907789+165024+751964644+165248+189478020+165664+1048761037+165888+171942068+166112+171085800+166336+507677859+166528+105353379+166976+1020367332+167232+712979556+167392+411738061+167616+1048978087+167840+639607176+168032+411666408+168288+171319905+168576+602049928+168768+389609635+168992+189124158+169152+140693875+169408+171055284+169600+386043014+169824+159760547+170048+747790704+170400+304817304+170656+72649417+170912+877729058+171104+711791685+171360+569023301+171616+1015577254+171776+850338334+172064+140291016+172256+572659498+172704+773359749+172832+417039906+173344+60176097+173568+503375245+173984+891781177+174208+976046560+174400+856591186+174624+684508066+174848+563753776+175264+58222220+175584+114351641+175648+772912183+176352+139166829+176736+358748897+176960+484792452+177216+339163478+177344+411373006+177600+117842243+177792+603046280+178016+34143344+178208+170951231+178336+825396256+178560+419187875+178656+322322195+179072+733269391+179296+420146483+179584+171328187+179744+806522256+180160+118228131+180352+443663105+180736+210148464+180992+786637223+181216+457947336+181376+1054266094+181632+171947444+181856+408063981+181952+773199011+182080+325813637+182528+638900961+182944+739870006+183136+171640417+183328+638750401+183616+38372515+183808+710972001+184256+457873444+184448+195482278+184640+268626356+184896+329515194+185056+698673408+185248+888826170+185376+708656794+185504+924487503+185600+403556003+185952+267780977+186144+333708672+186304+752154879+186592+115029310+186784+395425485+187008+467002477+187200+1063712121+187488+878696893+187648+742201334+187872+240848709+188288+507745987+188480+171413733+188768+38964708+188928+923833507+189056+639484965+189248+80316273+189376+463549025+189792+114747468+190016+490845626+190400+463949933+190624+1049029076+191008+351248826+191264+411384808+191488+825631054+191712+449596808+191904+42382099+192256+195076524+192736+454223912+193152+526828730+193344+403167665+193568+148242934+193760+500315520+194016+903312525+194304+825062877+194432+163335005+194624+527593234+194880+159898779+195296+210919927+195488+326313112+195744+1067769033+196128+80734519+196576+868299770+196704+111997004+196800+772909884+196992+602637418+197248+244906721+197440+322151998+197760+85249257+197888+395396403+198080+975561809+198336+118393209+198560+557958050+198752+264786032+199168+729018900+199584+323673340+200032+507826871+200192+403149108+200672+429261284+200832+60188032+201088+138470809+201248+944902201+201504+5117060+201728+170922885+201952+507677700+202112+1049071779+202560+562012644+202976+869818344+203296+807204375+203392+411830077+203552+761668353+204000+693852552+204256+108680918+204448+679583381+204672+173678695+204864+227710600+205088+4416677+205152+825233625+205312+346835972+205504+458566419+205888+991352138+206368+987678133+206944+171882417+207040+526553005+207264+558356643+207648+510153206+208064+4692500+208320+170922470+208512+67275780+208928+601948323+209344+204011584+209760+327354942+210208+882172098+210432+670901560+210624+1049231177+210944+1046454911+211040+933205992+211264+910026725+211456+982355833+211712+712942435+211904+906665896+212064+508396199+212320+374838112+212512+365270500+212768+441807205+212928+712414556+213120+375037349+213184+140875431+213856+896670053+214496+936205446+214720+591262551+214912+356044668+215136+882200115+215328+675095891+215744+878317385+216192+311236227+216576+202679109+216864+966985000+217024+328100033+217184+67429274+217280+1045496120+217472+141530176+217888+658643941+218304+769249414+218592+539719284+218784+171444957+218944+1002606082+219200+409923747+219648+510008252+219968+729258374+220064+327867878+220544+638902967+220736+639206712+220960+527009377+221376+250075745+221632+1064548854+221792+126868718+221920+4318199+222016+728764536+222432+458939396+222656+867620535+223072+167570869+223328+105021243+223456+567382175+223744+327709796+223936+739566109+224160+283837752+224352+387201729+224768+831898894+225184+160195953+225440+4350745+225632+932188312+225856+639493124+226048+639207289+226496+449414753+226656+808890977+226784+713821612+226912+838509315+227360+454852264+227520+72795935+227616+638653873+227808+825852997+227968+403459681+228096+806748947+228224+742131072+228416+110825217+228640+140617411+228864+355604585+229056+403000454+229344+255197523+229504+411291008+229952+773202163+230272+248219016+230368+327398113+230784+402972908+231008+140902712+231232+824318336+231488+411846790+231648+138814226+232096+67244424+232320+4259972+232512+170922048+232768+117607428+232928+374456483+233344+138777712+233824+668078437+234048+61469828+234272+327215741+234464+374661178+234656+408261944+234720+741741925+235104+509283717+235424+678926019+235744+118103525+235936+562152071+236352+824729712+237248+118245912+237664+327271186+237760+987029616+237920+711898424+238048+98212781+238400+1048671910+238528+1046454365+238752+412063720+238848+711336933+238976+669686152+239168+1010432678+239360+29298302+239648+147877827+239776+972174363+240256+375291021+240480+770021279+240608+10189157+240896+869279454+241120+826078217+241280+807161661+241760+705431315+241984+847938305+242176+711762592+242400+160078632+242624+4350630+242848+170922136+243040+558009348+243296+602427555+243712+269023764+244128+327418430+244544+255123712+244768+932433208+244960+740156659+245280+527107961+245408+105372353+245568+509710838+245792+183998564+246048+171097574+246240+891456687+246624+508381347+247072+602379090+247392+137951716+247520+327290430+247904+374661251+248128+171283768+248320+429034853+248768+856056995+249024+711770521+249216+4889392+249408+170922662+249632+374508548+250048+509973667+250464+203921765+250880+327354854+251296+445964482+251520+384214328+251712+906344873+252160+614302062+252608+512304992+252800+171418185+252992+507678184+253664+773296291+253888+689669604+254304+163202785+254720+379743889+254944+374712475+255168+992318826+255360+362727781+255520+844457906+255776+659330393+256000+195679013+256224+28502644+256416+944794810+256832&qt=/hashq&wt=standard&rows=10&version=2.2} hits=0 status=0 QTime=105 diff --git a/solr/solr/.gitignore b/solr/solr/.gitignore new file mode 100644 index 0000000..5eb6531 --- /dev/null +++ b/solr/solr/.gitignore @@ -0,0 +1,2 @@ +data/ +logs/ diff --git a/solr/solr/data/spellchecker/segments_1 b/solr/solr/data/spellchecker/segments_1 deleted file mode 100644 index 3bbfcec..0000000 Binary files a/solr/solr/data/spellchecker/segments_1 and /dev/null differ diff --git a/solr/solr/etc/jetty.xml b/solr/solr/etc/jetty.xml index 4434df2..862bf80 100755 --- a/solr/solr/etc/jetty.xml +++ b/solr/solr/etc/jetty.xml @@ -22,7 +22,7 @@ - 10 @@ -30,7 +30,7 @@ 10000 - + --> 30000 - 2 + 50 8443 + 65500 @@ -82,7 +83,7 @@ - + @@ -95,7 +96,7 @@ --> - + @@ -114,7 +115,7 @@ - + @@ -191,13 +192,28 @@ /yyyy_mm_dd.request.log - 90 + 1 true false GMT + + + + + yyyy_mm_dd.jetty.log + false + 3 + GMT + + + + + + + diff --git a/solr/solr/etc/jetty.xml~ b/solr/solr/etc/jetty.xml~ deleted file mode 100755 index 1a7d186..0000000 --- a/solr/solr/etc/jetty.xml~ +++ /dev/null @@ -1,212 +0,0 @@ - - - - - - - - - - - - - - - - - org.mortbay.jetty.Request.maxFormContentSize - 1000000 - - - - - - - - - 10 - 50 - 10000 - - - - - - - - - - - - - - - - - - - - - - 50000 - 1500 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /contexts - 1 - - - - - - - - - - - - - - - - - - - - - - /webapps - false - true - false - /etc/webdefault.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - /yyyy_mm_dd.request.log - 90 - true - false - GMT - - - - - - - - true - - true - - - diff --git a/solr/solr/extra-libs/Hashr.jar b/solr/solr/extra-libs/Hashr.jar deleted file mode 100644 index 537854f..0000000 Binary files a/solr/solr/extra-libs/Hashr.jar and /dev/null differ diff --git a/solr/solr/extra-libs/hashr.jar b/solr/solr/extra-libs/hashr.jar new file mode 120000 index 0000000..d4694d8 --- /dev/null +++ b/solr/solr/extra-libs/hashr.jar @@ -0,0 +1 @@ +../../../hashr/target/hashr.jar \ No newline at end of file diff --git a/solr/solr/logs/2011_04_03.request.log b/solr/solr/logs/2011_04_03.request.log deleted file mode 100644 index e69de29..0000000 diff --git a/solr/solr/solr/conf/schema.xml b/solr/solr/solr/conf/schema.xml index db1720b..9bcbc83 100755 --- a/solr/solr/solr/conf/schema.xml +++ b/solr/solr/solr/conf/schema.xml @@ -24,7 +24,7 @@ - + @@ -32,10 +32,13 @@ - + + + + - track_id diff --git a/solr/solr/solr/conf/solrconfig.xml b/solr/solr/solr/conf/solrconfig.xml index 12c31f4..c8716c5 100755 --- a/solr/solr/solr/conf/solrconfig.xml +++ b/solr/solr/solr/conf/solrconfig.xml @@ -15,1030 +15,1625 @@ See the License for the specific language governing permissions and limitations under the License. --> - - + + - ${solr.abortOnConfigurationError:true} + --> + ${solr.abortOnConfigurationError:true} + + + LUCENE_35 + + - - - - - - ./data + + + + + + + + + + + + + + + + + - - - false + Used to specify an alternate directory to hold all index data + other than the default ./data under the Solr home. If + replication is in use, this should match the replication + configuration. + --> + ./data - 10 - - - - 32 - - 50000 - 1000 - 10000 + - + solr.StandardDirectoryFactory, the default, is filesystem + based and tries to pick the best implementation for the current + JVM and platform. One can force a particular implementation + via solr.MMapDirectoryFactory, solr.NIOFSDirectoryFactory, or + solr.SimpleFSDirectoryFactory. - + - LogByteSizeMergePolicy chooses segments to merge based on their size. The - Lucene 2.2 default, LogDocMergePolicy chose when to merge based on number - of documents + - + Values here affect all index writers and act as a default + unless overridden. - - - - - - native - - - - - - - false - 32 - 10 - - - - - - - - false - - - true + - - + false - + 32 + + + + 50000 + 1000 + 10000 + + + + + + + + + native + + + + - The standard Solr IndexDeletionPolicy implementation supports deleting - index commit points on number of commits, age of commit point and - optimized status. + - - - 1 - - 0 - - - - - false - - - - - - - - - - - + false + + + true + + + + + 1 + + 0 + + + + + + false + + + + - - 1000 - 120000 - - - - - - + + - - - + + + + + 1000 + 120000 + + + + + + + + + + - - - - - - - 1024 - - - - - - - + + + + + + + + 1024 + + + + + + + + + + + + + + + + + + + + + + true + + + + + + 20 + + + 200 + + + + + + + + + + + + static firstSearcher warming in solrconfig.xml + + + + + + false + + + 2 + + + + + + + + + + + + + + + + + + + + - - - - - - - true + - + + + + explicit + 10 + + + + + + + + + - - - - 20 - - - 200 - - - - - + + - - - - - - - solr rocks010 - static firstSearcher warming query from solrconfig.xml - - + + + + + + + + + + + - false + http://wiki.apache.org/solr/ExtractingRequestHandler - - 2 + --> + + + + text + true + ignored_ + + + true + links + ignored_ + + + + + + + + + + + + - + - - - - - + - - - - - - - - - - - - - - explicit + + + + + + + search + solrpingquery + + + all + + + + + + + explicit + true + + + + + - - + + commit + startup + schema.xml,stopwords.txt + + --> + + http://192.168.3.9:8502/solr/replication + 00:00:60 + + + + - - - - - - - - dismax - explicit - 0.01 - - text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4 - - - text^0.2 features^1.1 name^1.5 manu^1.4 manu_exact^1.9 - - - popularity^0.5 recip(price,1,1000,1000)^0.3 - - - id,name,price,score - - - 2<-1 5<-2 6<90% - - 100 - *:* - - text features name - - 0 - - name - regex - - - - - - - dismax - explicit - text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 - 2<-1 5<-2 6<90% - - incubationdate_dt:[* TO NOW/DAY-1MONTH]^2.2 - - - - inStock:true - - - - cat - manu_exact - price:[* TO 500] - price:[500 TO *] - - + + The spell check component can return a list of alternative spelling + suggestions. - - - - - 10 - 0 - - - hashComponent - - - - - - - textSpell - - - default - name - ./spellchecker - - - - - - + - + + + + default + name + spellchecker + + + + + + + + + + + + + + + + + false + false + 1 + + + spellcheck + + + + + + + + + + true + + + tvComponent + + + + - - - false - false - 1 - - - spellcheck - - - - - - - - true - - - tvComponent - - - - - - - - - default - - org.carrot2.clustering.lingo.LingoClusteringAlgorithm - - 20 - - - stc - org.carrot2.clustering.stc.STCClusteringAlgorithm - - - - - true - default - true - - name - id - - features - - true - - - - false - - - clusteringComponent - - - - - - - - text - true - ignored_ - - - true - links - ignored_ - - - - - - - - - - true - - - termsComponent - - - - - - - - string - elevate.xml - - - - - - explicit - - - elevator - - - - - + + + default + + + org.carrot2.clustering.lingo.LingoClusteringAlgorithm + + + 20 + + + clustering/carrot2 + + + ENGLISH + + + stc + org.carrot2.clustering.stc.STCClusteringAlgorithm + + + + - + + + true + default + true + + name + id + + features + + true + + + + false + + edismax + + text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4 + + *:* + 10 + *,score + + + clustering + + + + + + + + + true + + + terms + + - - + a search component that enables you to configure the top + results for a given query regardless of the normal lucene + scoring. + --> + + + string + elevate.xml + + + + + + explicit + + + elevator + + + + + + + + + + + 100 + + + + + + + + 70 + + 0.5 + + [-\w ,/\n\"']{20,200} + + + + + + + ]]> + ]]> + + + + + + + + + + + + + + + + + + + + + ,, + ,, + ,, + ,, + ,]]> + ]]> + + + + + + 10 + .,!? + + + + + + + WORD + + + en + US + + + + + + - + --> + - - - - - - - - - - - - - - standard - solrpingquery - all - - - - - - - explicit - true - - - - - - - - - 100 - - - - - - - - 70 - - 0.5 - - [-\w ,/\n\"']{20,200} - - - - - - - ]]> - ]]> - - - - - - - - - - - - - + An example dedup update processor that creates the "id" field + on the fly based on the hash code of some other fields. This + example has overwriteDupes set to false since we are using the + id field as the signatureField and Solr will maintain + uniqueness based on that anyway. + --> + - + + + + + - - - - - - + + + text/plain; charset=UTF-8 + - Custom response writers can be declared as needed... - - - --> + + + - - - 5 - + every xsltCacheLifetimeSeconds. + --> + + 5 + + + http://wiki.apache.org/solr/SolrQuerySyntax - + Multiple QParserPlugins can be registered by name, and then + used in either the "defType" param for the QueryComponent (used + by SearchHandler) or in LocalParams + --> + + + + - - solr + http://wiki.apache.org/solr/FunctionQuery - + + - + + + + *:* + + + + + + + + + + + dismax + explicit + 0.01 + + text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4 + + + text^0.2 features^1.1 name^1.5 manu^1.4 manu_exact^1.9 + + + popularity^0.5 recip(price,1,1000,1000)^0.3 + + + id,name,price,score + + + 2<-1 5<-2 6<90% + + 100 + *:* + + text features name + + 0 + + name + regex + + + + + + + dismax + explicit + text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 + 2<-1 5<-2 6<90% + + incubationdate_dt:[* TO NOW/DAY-1MONTH]^2.2 + + + + inStock:true + + + + cat + manu_exact + price:[* TO 500] + price:[500 TO *] + + + + + + + + 10 + 0 + + + hashComponent + + diff --git a/solr/solr/solr/conf/solrconfig_35.xml b/solr/solr/solr/conf/solrconfig_35.xml new file mode 100644 index 0000000..abe5fea --- /dev/null +++ b/solr/solr/solr/conf/solrconfig_35.xml @@ -0,0 +1,1603 @@ + + + + + + + + + ${solr.abortOnConfigurationError:true} + + + LUCENE_35 + + + + + + + + + + + + + + + + + + + + + + + + ${solr.data.dir:} + + + + + + + + + + false + + 10 + + 32 + + + + 10000 + 1000 + + + + + + + + + native + + + + + + + + + false + 32 + 10 + + + false + + + true + + + + + 1 + + 0 + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1024 + + + + + + + + + + + + + + + + + + + + + + true + + + + + + 20 + + + 200 + + + + + + + + + + + + static firstSearcher warming in solrconfig.xml + + + + + + false + + + 2 + + + + + + + + + + + + + + + + + + + + + + + explicit + 10 + + + + + + + + + + + + + + explicit + + + velocity + + browse + layout + Solritas + + edismax + *:* + 10 + *,score + + text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4 + + text,features,name,sku,id,manu,cat + 3 + + + text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4 + + + on + cat + manu_exact + ipod + GB + 1 + cat,inStock + after + price + 0 + 600 + 50 + popularity + 0 + 10 + 3 + manufacturedate_dt + NOW/YEAR-10YEARS + NOW + +1YEAR + before + after + + + + on + text features name + 0 + name + + + spellcheck + + + + + + + + + + + + + + + + + + + + + + + text + true + ignored_ + + + true + links + ignored_ + + + + + + + + + + + + + + + + + + + + + + + + search + solrpingquery + + + all + + + + + + + explicit + true + + + + + + + + + + + + textSpell + + + + + + default + name + spellchecker + + + + + + + + + + + + + + + + + false + false + 1 + + + spellcheck + + + + + + + + + + true + + + tvComponent + + + + + + + + + default + + + org.carrot2.clustering.lingo.LingoClusteringAlgorithm + + + 20 + + + clustering/carrot2 + + + ENGLISH + + + stc + org.carrot2.clustering.stc.STCClusteringAlgorithm + + + + + + + true + default + true + + name + id + + features + + true + + + + false + + edismax + + text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4 + + *:* + 10 + *,score + + + clustering + + + + + + + + + + true + + + terms + + + + + + + + string + elevate.xml + + + + + + explicit + + + elevator + + + + + + + + + + + 100 + + + + + + + + 70 + + 0.5 + + [-\w ,/\n\"']{20,200} + + + + + + + ]]> + ]]> + + + + + + + + + + + + + + + + + + + + + ,, + ,, + ,, + ,, + ,]]> + ]]> + + + + + + 10 + .,!? + + + + + + + WORD + + + en + US + + + + + + + + + + + + + + + + + + + text/plain; charset=UTF-8 + + + + + + + + + + 5 + + + + + + + + + + + + + *:* + + + + + + diff --git a/solr/solr/webapps/solr.war b/solr/solr/webapps/solr.war index a4a1469..3402d8b 100644 Binary files a/solr/solr/webapps/solr.war and b/solr/solr/webapps/solr.war differ diff --git a/util/.gitignore b/util/.gitignore new file mode 100644 index 0000000..a6c57f5 --- /dev/null +++ b/util/.gitignore @@ -0,0 +1 @@ +*.json