solrs - async solr client for java/scala

This is a java/scala solr client providing an interface like SolrJ, just asynchronously / non-blocking (built on top of async-http-client / netty).

The github repo is inoio/solrs, for questions please join the chat.

Key Features

  • Async, non-blocking API to Solr on the JVM: supports CompletableFuture for Java, for Scala you can choose between Twitter’s Future or the standard/SDK Future.
  • SolrCloud support
  • Optimized request routing (e.g. updates go to leaders, _route_ param is respected, replica.type is supported for shards.preference param)
  • Pluggable load balancing strategies, comes with a performance/statistics based load balancer
  • Support for retry policies in case of failures


Each solrs version is compatible with a certain Solr version:

  • Solr 8.6.x: solrs 2.5.x
  • Solr 7.7.x: solrs 2.4.x
  • Solr 7.6.x: solrs 2.3.x
  • Solr 7.4.x: solrs 2.2.x
  • Solr 7.2.x: solrs 2.1.x
  • Solr 6.x.x: solrs 2.0.x

You must add the library to the dependencies of the build file:

libraryDependencies += "io.ino" %% "solrs" % "2.5.0"
dependencies {
  compile group: 'io.ino', name: 'solrs_2.12', version: '2.5.0'

solrs is published to maven central for scala 2.11 (up to version 2.3.0), 2.12 and 2.13.


This software is licensed under the Apache 2 license

The source code for this page can be found here.