> My understanding is that SolrJ users are supposed to escape > special characters, therefore (b) is the correct way. > If this is the case, what's the best way to escape a query > string which > might contain field names and URIs in their field values?
Easiest thing is to use RawQParserPlugin or FieldQParserPlugin. e.g. SolrQuery.setQuery("{!field f=uri}http://www.apache.org")