Mikhail Khludnev created SOLR-8208:
--------------------------------------
Summary: DocTransformer executes sub-queries
Key: SOLR-8208
URL: https://issues.apache.org/jira/browse/SOLR-8208
Project: Solr
Issue Type: Improvement
Reporter: Mikhail Khludnev
The initial idea was to return "from" side of query time join via
doctransformer. I suppose it isn't query-time join specific, thus let to
specify any query and parameters for them, let's call them sub-query. But it
might be problematic to escape subquery parameters, including local ones, e.g.
what if subquery needs to specify own doctransformer in &fl=\[..\] ?
I suppose we can allow to specify subquery parameter prefix:
{code}
..&fl=id,[subquery paramPrefix=subq1.
fromIndex=othercore],score,..&subq1.q={!term f=child_id
v=$subq1.row.id}&subq1.rows=3&subq1.sort=price&..
{code}
* {{paramPrefix=subq1.}} shifts parameters for subquery: {{subq1.q}} turns to
{{q}} for subquery, {{subq1.rows}} to {{rows}}
* {{fromIndex=othercore}} optional param allows to run subquery on other core,
like it works on query time join
* the itchiest one is to reference to document field from subquery parameters,
here I propose to use local param {{v}} and param deference {{v=$param}} thus
every document field implicitly introduces parameter for subquery
$\{paramPrefix\}row.$\{fieldName\}, thus above subquery is
q=child_id:<doc.getField("id")>, presumably we can drop "row." in the middle
(reducing to v=$subq1.id), until someone deal with {{rows}}, {{sort}} fields.
* \[subquery\], or \[query\], or ?
Caveat: it should be a way slow; it handles only search result page, not entire
result set.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]