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.

Reply via email to