[
https://issues.apache.org/jira/browse/SOLR-7957?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yonik Seeley updated SOLR-7957:
-------------------------------
Attachment: SOLR-7957.patch
OK, here's a patch that puts enough info into ResultContext to allow for
multiple queries per request. Since the ResultContext carries all of the info
that was previously in TransformContext, the latter was redundant and hence was
removed.
ResponseWriters now ask for an iterator over the results from the ResultContext
itself, expanding future options (as opposed to hard-coding DocStreamer).
This doesn't address all of the issues with transformers, etc... we don't have
a good answer for transformers that would benefit from batching, and
transformers aren't thread safe (they can't be used concurrently in different
threads). But I think allowing multiple queries per request is a good start.
> simplify ResultContext / TransformContext
> -----------------------------------------
>
> Key: SOLR-7957
> URL: https://issues.apache.org/jira/browse/SOLR-7957
> Project: Solr
> Issue Type: Bug
> Components: rch, search
> Reporter: Yonik Seeley
> Fix For: Trunk
>
> Attachments: SOLR-7957.patch
>
>
> Today we have a ResultContext which simply has two public variables query and
> docList. For writing a response, those fields are used to create a
> DocsStreamer which creates a TransformContext for transformers (which just
> copies the values like searcher, req, q, etc again).
> It seems the all the methods on TransformContext could be simply moved to
> ResultContext.
> Only exception is "iterator" needed by ScoreAugmenter, but we could simply
> pass down the score in the transform() method as well.
> This would result in a ResultContext that could do things like support
> multiple queries with different return fields, and things like returning a
> list of docs from another core (think cross-core join).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]