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

Installation

Each solrs version is compatible with a certain Solr version. For Solr 7.2.x use solrs 2.1.0, for Solr 6.x use solrs 2.0.0.

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

sbt
libraryDependencies += "io.ino" %% "solrs" % "2.2.0"
Maven
<dependency>
  <groupId>io.ino</groupId>
  <artifactId>solrs_2.11</artifactId>
  <version>2.2.0</version>
</dependency>
Gradle
dependencies {
  compile group: 'io.ino', name: 'solrs_2.11', version: '2.2.0'
}

solrs is published to maven central for both scala 2.11 and 2.12.

License

This software is licensed under the Apache 2 license

The source code for this page can be found here.