After some more digging I've learned that the Query gets called more than
once on the same shard, but with a different shard purpose. I don't
understand the flow, but I assume that one call is triggering the
transform() via a path that does not pass through the document collector. I
also don't know why this flow changes just because of sharding. But perhaps
the first pass through the docs are collected and sorted and the merge
happens (PURPOSE_GET_TOP_IDS), and then the requested field data is gathered
(PURPOSE_GET_FIELDS). It's this second pass that barfs in the transform()
method because my custom analytics data doesn't exist. I would expect an NPE
instead of a read error, nonetheless if I wrap the mycustomdata.get() with a
null check the search works as expected.



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Can-a-MergeStrategy-filter-returned-docs-tp4290446p4290998.html
Sent from the Solr - User mailing list archive at Nabble.com.

Reply via email to