Согласно документации и комментариям источника, SolrJ является потокобезопасным.
Однако будьте осторожны при обновлении solr. Согласно этой записи транзакции выполняются для каждого экземпляра, а не для каждой очереди. Это означает, что у каждого потока нет отдельной изолированной транзакции для работы. Откат будет выполнять откат каждого вызова (независимо от исходного потока) до последнего коммита.
В целом, это означает, что вы должны безопасно запрашивать (используя тот же CommonsHttpSolrServer) столько потоков, сколько вам нужно. Однако, если вы хотите воспользоваться откатом, вам необходимо убедиться, что только один поток обновляет ваш экземпляр solr за раз (независимо от распределения объектов).