Batch indexing operations on one index

Adds, updates, or deletes records in one index with a single API request.

Batching index updates reduces latency and increases data integrity.

  • Actions are applied in the order they’re specified.
  • Actions are equivalent to the individual API requests of the same name.

This operation is subject to indexing rate limits.

Usage

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import algoliasearch.api.SearchClient
import algoliasearch.config.*
import algoliasearch.extension.SearchClientExtensions

val client = SearchClient(appId = "ALGOLIA_APPLICATION_ID", apiKey = "ALGOLIA_API_KEY")

val response = Await.result(
  client.batch(
    indexName = "ALGOLIA_INDEX_NAME",
    batchWriteParams = BatchWriteParams(
      requests = Seq(
        BatchRequest(
          action = Action.withName("addObject"),
          body = JObject(List(JField("key", JString("bar")), JField("foo", JString("1"))))
        ),
        BatchRequest(
          action = Action.withName("addObject"),
          body = JObject(List(JField("key", JString("baz")), JField("foo", JString("2"))))
        )
      )
    )
  ),
  Duration(100, "sec")
)
Did you find this page helpful?
Scala API clients v2