1. please explain how exactly "boost the value of a field in the 2nd based
on the results of the 1st.". Please provide sample queries, docs and
results.
2. introducing such chaining concern aka "* ResponseAware*" seems
absolutely doubtful for me.
3. are you sure you are aware of tricks like
http://wiki.apache.org/solr/SolrRelevancyFAQ#How_do_I_give_a_negative_.28or_very_low.29_boost_to_documents_that_match_a_query.3F
 and http://wiki.apache.org/solr/DisMaxQParserPlugin#bq_.28Boost_Query.29
 and http://wiki.apache.org/solr/QueryElevationComponent

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

> 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.
>>
>>
>
>
>
>
>


-- 
Sincerely yours
Mikhail Khludnev
Tech Lead
Grid Dynamics

<http://www.griddynamics.com>
 <mkhlud...@griddynamics.com>

Reply via email to