I am investigating possible modifications to the CollapsingQParserPlugin that
will allow me to collapse documents based on multiple fields. In a quick
test I was able to make this happen with two fields, so I assume I can
expand that to N fields. 

What I'm missing now is the extra data I need per group - the count of
collapsed docs and a summation on one numeric field. With single field
collapsing I could get this info from the standard stats component by using
tagging/excluding on the post filter and setting a stats facet field. Once
there are multiple fields, I lose the "free" stats info since faceting only
works with one field.

So I'm looking for advice on where/when to collect the extra data, and how
to transport it back to the caller. My first thought is to compute the info
in the collect() method of the DelegatingCollector, and store it with the
filter (somehow) so it can be retrieved in a later custom SearchComponent.
But I've read it is NOT a good idea to get a document within the collect()
method. What is the right way (place) to access a doc field value (not the
ordinal)?

I read a post by Joel B. where he said you could get access to a
ResponseBuilder directly from a post filter via a static SolrRequestInfo
call. Does this mean I could compute the extra data I need in the post
filter, AND write it out to the response (from the finish() method I guess)?
No need for a custom SearchComponent? I was thinking I would have to follow
the ExpandComponent model to get the data from the filter, then write it out
in the process() method.

This is my first attempt at customizing Solr so I may not be expressing
myself clearly. Thank you for any pointers you can provide.
(using Solr 4.9)



--
View this message in context: 
http://lucene.472066.n3.nabble.com/How-to-return-custom-collector-info-tp4180502.html
Sent from the Solr - User mailing list archive at Nabble.com.

Reply via email to