The finish() method operates on the search node, not the aggregator node. So whether it's distributed shouldn't effect how it runs. If you can post your code I might be able to see the issue.
As far using a MergeStrategy, I would suggest creating a streaming expression that handles the merge. This is a much cleaner approach. An example of how this works can be seen in this patch: https://issues.apache.org/jira/secure/attachment/12820171/SOLR-9252.patch The AnalyticsQuery in this case is: TextLogisticRegressionQParserPlugin.java The expression is: TextLogitStream.java The TextLogitStream has sample code for calling the shards and merging the results. If you want to use this approach the following patch is needed so you can add your own streaming expression: https://issues.apache.org/jira/browse/SOLR-9103 This will likely be in 6.2 Joel Bernstein http://joelsolr.blogspot.com/ On Wed, Jul 27, 2016 at 5:36 PM, tedsolr <tsm...@sciquest.com> wrote: > I'm looking to create a merge strategy for a custom QParserPlugin I have. > The > plugin works fine on collections with one shard. I was very surprised to > see > it throw an exception when I ran it against a sharded collection. So my > question is a bit of a shot in the dark. I'll first note that the > CollapsingQParserPlugin included with Solr works as expected on my test > collection with two shards. > > The NPE occurs in my DelegatingCollector's finish() method as it's setting > the next doc base. It appears I have a null LeafReaderContext. Without > knowing anything about my code, what is it about multiple shards that might > throw off a collector like this? > > thanks! > v5.2.1 > > > > -- > View this message in context: > http://lucene.472066.n3.nabble.com/AnalyticsQuery-fails-on-a-sharded-collection-tp4289274.html > Sent from the Solr - User mailing list archive at Nabble.com. >