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

Marc Morissette commented on SOLR-10059:
----------------------------------------

[~hossman] It might be that existing parameters are not descriptive enough to 
handle every use case. We could add a new parameter to CommonParams: 
"handler.chain" or "distrib.call.stack" or something similar. It would be a 
comma delimited list of all the handlers that were involved in a distributed 
operation and that have forwarded their parameters to the current 
RequestHandler. A handler would be identified by Collection or Core Name 
followed by /RequestHandler. e.g. 
distrib.call.stack=MyCollection/MyHandler,MyCollection2/MyHandler2,... 
RequestHandlerBase could use this parameter to determine whether defaults, 
appends and initParams were already applied by the same handler up the chain.

It would not handle the case of appends in initParams that apply to different 
handlers in the same call chain but I would assume this rarely occurs in 
practice.

I'd rather not add more parameters to Solr given how messy the current 
parameter namespace already is but I don't see a better solution. What do you 
think? 

> In SolrCloud, every fq added via <lst name="appends"> is computed twice.
> ------------------------------------------------------------------------
>
>                 Key: SOLR-10059
>                 URL: https://issues.apache.org/jira/browse/SOLR-10059
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: SolrCloud
>    Affects Versions: 6.4.0
>            Reporter: Marc Morissette
>              Labels: performance
>
> While researching another issue, I noticed that parameters appended to a 
> query via SearchHandler's <lst name="appends"> are added to the query twice 
> in SolrCloud: once on the aggregator and again on the shard.
> The FacetComponent corrects this automatically by removing duplicates. Field 
> queries added in this fashion are however computed twice and that hinders 
> performance on filter queries that aren't simple bitsets such as those 
> produced by the CollapsingQueryParser.
> To reproduce the issue, simply test this handler on a large enough 
> collection, then replace "appends" with "defaults". You'll notice significant 
> performance improvements.
> {code}
> <requestHandler name="/myHandler" class="solr.SearchHandler">
>     <lst name="appends">
>         <str name="fq">{!collapse field=routingKey hint=top_fc}</str>
>     </lst>
> </requestHandler>
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to