Skip to main content
The Java API client follows semantic versioning.

Upgrade to version 3

The client and index class have been renamed SearchClient and SearchIndex. The method names remain the same. To have all the asynchronous and synchronous methods in the same place, the asynchronous client is now part of the SearchClient. The Analytics and Insights clients use the same API design. This version is compatible with Java 8 and later.
This version removes all deprecated methods and features from version 2.

Upgrade the library

The library now comes in two parts.
  • algoliasearch-core which holds all the methods, the plain old Java object (POJO), the transport layer and the retry strategy. This JAR is agnostic of any HTTP client implementation.
  • algoliasearch-apache which is the default HTTP client implementation for the core library.

Upgrade with maven

Add the following code in your pom.xml:
pom.xml

Upgrade with Gradle

Add the following code in your build.gradle:
build.gradle

Client instantiation

Replace the instantiation of the client as shown below.
Java

Instantiate with configuration

You can instantiate all clients with a configuration builder. This is useful to affect the way a client behaves. You can configure :
  • DefaultHeaders: to set HTTP headers for every request
  • BatchSize: to customize the chunk size of batches for save methods
  • Hosts: to set custom hosts to target
  • Timeouts : to set timeout such as the read timeout, the write timeout, and the connect timeout
  • ExecutorService: to set your own ExecutorService
Example:
Java

Analytics instantiation

Similarly, you need to update the way you initialize the Analytics client.
Java

Insights instantiation

You need to update the way you initialize the Insights client:
Java

Review breaking changes

To ease the update, most of the plain old java objects (POJO) didn’t change. You can find some breaking changes in the following table. All methods marked as @Depracted are removed.

Clients

SearchClient

Index/SearchIndex

AnalyticsClient

Last modified on March 23, 2026