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.

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import com.algolia.client.api.SearchClient
import com.algolia.client.extensions.*

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

var response = client.batch(
  indexName = "ALGOLIA_INDEX_NAME",
  batchWriteParams = BatchWriteParams(
    requests = listOf(
      BatchRequest(
        action = Action.entries.first { it.value == "addObject" },
        body = buildJsonObject {
          put(
            "key",
            JsonPrimitive("bar"),
          )
          put(
            "foo",
            JsonPrimitive("1"),
          )
        },
      ),
      BatchRequest(
        action = Action.entries.first { it.value == "addObject" },
        body = buildJsonObject {
          put(
            "key",
            JsonPrimitive("baz"),
          )
          put(
            "foo",
            JsonPrimitive("2"),
          )
        },
      ),
    ),
  ),
)
Did you find this page helpful?
Kotlin API clients v3