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’sFuture
or the standard/SDKFuture
. - SolrCloud support
- Optimized request routing (e.g. updates go to leaders,
_route_
param is respected,replica.type
is supported forshards.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:
- Solr 9.4.x: solrs 2.11.x
- Solr 9.3.x: solrs 2.10.x
- Solr 9.2.x: solrs 2.8.x, 2.9.x
- Solr 9.1.x: solrs 2.7.x
- Solr 8.11.x: solrs 2.6.x
- 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:
- sbt
libraryDependencies += "io.ino" % "solrs_2.13" % "2.11.2"
- Maven
<dependencies> <dependency> <groupId>io.ino</groupId> <artifactId>solrs_2.13</artifactId> <version>2.11.2</version> </dependency> </dependencies>
- Gradle
dependencies { implementation "io.ino:solrs_2.13:2.11.2" }
solrs is published to maven central for scala 2.11 (up to version 2.3.0), 2.12, 2.13 and 3.2 (since version 2.6.2) - search maven central for solrs.
License
This software is licensed under the Apache 2 license
The source code for this page can be found here.