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

Upayavira commented on SOLR-8208:
---------------------------------

Something I've wanted for a long time - you've got my vote.

Why should it be way slow? Obviously for a very large number of docs in the 
result set it would get resource intensive, but for medium numbers it should be 
quite acceptable, no?

Another feature that would make this really neat would be to specify the tag of 
a filter query that you want to use as your sub-query - assuming it includes a 
join query. Thus, you would only need to specify your join query once - 
including fromIndex, join fields, etc - all you would need to specify would be 
the fields you want to include:

{code}
fq={!tag=join}{!join fromIndex=other from=id to=id}some_query&
fl=*,[subquery fq.tag=join fl=field1,field2]
{code}

> DocTransformer executes sub-queries
> -----------------------------------
>
>                 Key: SOLR-8208
>                 URL: https://issues.apache.org/jira/browse/SOLR-8208
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Mikhail Khludnev
>              Labels: features, newbie
>
> 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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to