On Apr 9, 2012, at 7:34 PM, Benson Margulies wrote: > Those of you insomniacs who have read my messages here over the last > few weeks might recall that I've been working on a request handler > that wraps the SearchHandler to rewrite queries and then reorder > results. > > (I haven't quite worked out how to apply Grant's alternative > suggestions without losing the performance advantages I was looking > for in the first place.) > > Today, I realized that the RequestHandler approach, as opposed to > search components, wasn't going to be viable. I was growing too much > dependency on internal Solr quirks. > > So I refactored it into a pair of SearchComponents -- one to go first > and rewrite the query, and one to go after "query" and rescore. > > And it works just fine ----- until I configure it into a SolrCloud > cluster. At which point it started coming up with very wrong answers. > > I think that the reason is that I don't have an implementation of the > distributedProcess method, or, more generally, that I don't understand > the protocol on a SearchComponent when distributed processing is > happening. Has anyone written anything yet about these considerations? > I can put multiple processes in the debugging and see who gets called > with what, but I was hoping for some sort of short cut.
Grant started something on this once: http://wiki.apache.org/solr/WritingDistributedSearchComponents It's only a start though. Unfortunately, to this point, adventurous souls have had to debug and study there way to understanding the distrib process solo mostly. Perhaps we can encourage anyone that has written a distributed component to help jump in on that wiki page. Any takers? - Mark Miller lucidimagination.com