Clarification:
" Once the parser is response aware, its easy for the components to grab
the response and use them. "  In the context of function queries, by
components, I mean various Functions that has been extended from
ValueSource.

On Thu, Sep 13, 2012 at 3:02 PM, Karthick Duraisamy Soundararaj <
karthick.soundara...@gmail.com> wrote:

> Hello all,
>                 I am making multiple queries in a single url and trying to
> boost the value of a field in the 2nd based on the results of the 1st. To
> achieve this, my function query should be able to have access to the
> response of the first query. However, QParser and QParserPlugin only
> accepts req parameter and does not have any idea about the response.
>
> In a nutshell, all I am trying to do is that, during a serial execution of
>  chain of queries represented by a single url(
> https://issues.apache.org/jira/browse/SOLR-1093), I am trying to
> influence the results of  the second query with the results of the first
> query. To make the function queries ResponseAware, there are two options:
>
> *Option 1: Make all the QueryParsers ResponseAware*
> For this the following changes seem to be inevitable
>         1. Change/overload the createParser definition of QParserPlugin to
> include SolrQueryResponse
>                           createParser(string qstr, SolrParams
> localParams, SolrParams params, SolrQueryResponse rsp)
> -> createParser(string qstr, SolrParams localParams, SolrParams params,
> SolrQueryRequest req, SolrQueryResponse rsp)
>         2. Make similar changes to the getParser function in QPareser
>
>
> *Option 2: Make FunctionQueryParser alone ResponseAware*
> For this, following changes need to be made
>        1. Overload the FunctionQueryParserPlugin's create method with the
> following signature
>                        createParser(string qstr, SolrParams localParams,
> SolrParams params, SolrQueryRequest req, SolrQueryResponse rsp)
>        2. Overload the getParser methong in QParser to permit the extra
> SolrResponse parameter and invoke this call wherever necessary.
>
>
> Once the parser is response aware, its easy for the components to grab the
> response and use them.
>
> This change to interface would mandate changes across the various
> components of SOLR that use all the different kind of parsers but I think
> this would be a useful feature as it has been requested by different people
> at various times. I would appreciate any kind of
> suggestions/feedback. Also, I would be more than happy to discuss if there
> are anyother way of doing the same.
>
>

Reply via email to