You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Karl Wright (JIRA)" <ji...@apache.org> on 2010/08/04 20:05:16 UTC

[jira] Commented: (SOLR-2026) Need infrastructure support in Solr for requests that perform multiple sequential queries

    [ https://issues.apache.org/jira/browse/SOLR-2026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12895340#action_12895340 ] 

Karl Wright commented on SOLR-2026:
-----------------------------------

Here's an example of the solrconfig.xml using the attached patch:

  <requestHandler name="/querytest" class="solr.SearchHandler" lazy="true">

    <arr name="queries">
      <lst name="query1">
          <!-- the first query's configuration -->
          <arr name="components">
            <str>query</str>
          </arr>
      </lst>
      <lst name="query2">
          <!-- the second query's configuration -->
          <arr name="components">
            <str>query</str>
          </arr>
      </lst>
    </arr>

    <!-- Note well: the final query of the sequence is specified at this root level.  In this case, the default components are all chosen.
          Thus, this example represents three queries performed in sequence.  -->

  </requestHandler>


Note also that the ResponseBuilder object from the previous query is made available in the next query's request context.  Use SolrRequestObject.getContext().get("previousresponse") to grab it.


> Need infrastructure support in Solr for requests that perform multiple sequential queries
> -----------------------------------------------------------------------------------------
>
>                 Key: SOLR-2026
>                 URL: https://issues.apache.org/jira/browse/SOLR-2026
>             Project: Solr
>          Issue Type: Improvement
>          Components: SearchComponents - other
>            Reporter: Karl Wright
>         Attachments: SOLR-2026.patch
>
>
> Several known cases exist where multiple index searches need to be performed in order to arrive at the final result.  Typically, these have the constraint that the results from one search query are required in order to form a subsequent search query.  While it is possible to write a custom QueryComponent or search handler to perform this task, an extension to the SearchHandler base class would readily permit such query sequences to be configured using solrconfig.xml.
> I will be therefore writing and attaching a patch tomorrow morning which supports this extended functionality in a backwards-compatible manner.  The tricky part, which is figuring out how to funnel the output of the previous search result into the next query, can be readily achieved by use of the SolrRequestObject.getContext() functionality.  The stipulation will therefore be that the SolrRequestObject's lifetime will be that of the entire request, which makes complete sense.  (The SolrResponseObject's lifetime will, on the other hand, be limited to a single query, and the last response so formed will be what gets actually returned by SearchHandler.)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org