Your code looks fine to me, except it should take in a SolrDocument
object or list of, rather than strings. Then, for your Hash version, you
can take a hash of the "id" field.

As far as I can see I have access to a List<ContentStream> that
represents all of the files being POSTed. Do I want to open these
streams, get the info and then stream them out? This seems wasteful.

I noticed there is a comment in the org.apache.solr.servlet.DirectSolrConnection class which reads, "//Find a way to turn List<ContentStream> into File/SolrDocument". Did anyone find a way to do this?