[
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: [email protected]
For additional commands, e-mail: [email protected]