lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Grant Ingersoll <>
Subject Re: A curious request about a curious request handler
Date Tue, 03 Apr 2012 16:45:31 GMT

On Apr 3, 2012, at 12:37 PM, Benson Margulies wrote:

> On Tue, Apr 3, 2012 at 12:27 PM, Grant Ingersoll <> wrote:
>> On Apr 3, 2012, at 9:43 AM, Benson Margulies wrote:
>>> I've made a RequestHandler class that acts as follows:
>>> 1. At its initialization, it creates a StandardRequestHandler and hangs onto
>>> 2. When a query comes to it (I configure it to a custom qt value), it:
>>>  a. creates a new query based on the query that arrived
>>>  b. creates a LocalSolrQueryRequest for the current core and a param
>>> set containing the derived query
>>>  c. runs this request through the SearchHandler
>>>  d. uses a searcher to retrieve all the docs
>>>  e. rescores/reorders them using our code
>>>  f. attaches the result of this process to the response. The
>>> rescoring code creates a DocSlice containing the usual items, and that
>>> becomes "response".
>> Couldn't you just implement a Function (that calls your code) and use sort by function
and/or use that value as part of the broader match?  Lot less moving parts, etc.
> I don't know. Feel free to point me at doc at any point, but here's
> the questions that spring to mind:
> Starting with something in 'q' like:
>   bt_rni_name:"Mortimer Q Snerd" bt_rni_Name_Language:eng
> code of mine eats those two fields (in some sense, pseudo-fields), and
> spits out many other fields that we actually want to query on.
> Then, when the results come back, a whole slew of other fields are
> used to calculate the 'real' score.
> Do Functions do that?

Not alone, but a QueryParser (eat the fields, spit out others) plus a Function (calculate
the score) probably would and it would allow you to satisfy #2.

Not sure about item #3 in your original, as I haven't looked at the new UI code.

View raw message