Hi all,
First off, thanks for the great project. We're really excited about
incorporating Solr into our stack. Thanks!
We're looking at making some changes to the SolrJ client to meet our
operational needs:
- routing of requests to specific nodes for better cache hit ratios
- adding instrumentation via JMX (list of availability of Solr servers,
response time, various counters)
- implementing connection pooling (failure detection and recovery);
this is probably achievable on a layer atop the SolrJ client vs. as a part
of it
- logging errors more consistently
- miscellaneous changes (debugging, use of POST, optional custom
User-Agent, etc.)
So far, it appears that these changes can be made by adding hooks or
optional APIs to SolrJ that we would then implement with our custom logic.
So there's no secret sauce or anything.
We are curious for your recommendations about how best to make these
changes.
A few questions:
1. It seems that the SolrJ client is part of the overall Solr project,
so it would be harder/slower for us to get our changes in, committed, and
released in a timely manner.
2. We're specifically interested in the load balancing SolrJ client
(LBHttpSolrServer) but it doesn't appear to be recommended for production
use. Thoughts on its usage?
3. Are there perhaps other clients for Solr for Java other than SolrJ
and scalikesolr?
Thanks,
Kirk