: I'm considering to use SolrJ to run queries in a MLT fashion against my Solr : server. I saw that there is already an open bug filed in Jira : (https://issues.apache.org/jira/browse/SOLR-1085).
note that that issue is really just about having convinience classes for executing MLT style requests and parsing hte responses. Just because those convinience methods/classes don't exist yet doesn't mean you can't use SolrJ to send MLT requests. You can instantiate a QueryRequest object with the SolrParams you want to specify for MLT, and then extract the data you want directly from the QueryResponse. The only potentially tricky part is sending an arbitrary ContentStream. in your example you are using the "stream.body" for a short string -- this is easy to do as a param when building a QueryRequest object, but if you want to provide a much larger stream of data you can subclass QueryRequest to add your own ContentStream (from a File Source or whatever) to the Collection it will stream to hte server. For that matter, even though it's name might fool you, i'm pretty sure you a "ContentStreamUpdateRequest" instance with the appropriate URL for your MLT handler will do exactly what you want. https://lucene.apache.org/solr/api/org/apache/solr/client/solrj/request/ContentStreamUpdateRequest.html https://lucene.apache.org/solr/api/org/apache/solr/client/solrj/request/AbstractUpdateRequest.html#setParam%28java.lang.String,%20java.lang.String%29 -Hoss