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
import "github.com/algolia/algoliasearch-client-go/v4/algolia/search"

client, err := search.NewClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
if err != nil {
  // The client can fail to initialize if you pass an invalid parameter.
  panic(err)
}

response, err := client.Batch(client.NewApiBatchRequest(
  "ALGOLIA_INDEX_NAME",
  search.NewEmptyBatchWriteParams().SetRequests(
    []search.BatchRequest{*search.NewEmptyBatchRequest().SetAction(search.Action("addObject")).SetBody(map[string]any{"key": "bar", "foo": "1"}), *search.NewEmptyBatchRequest().SetAction(search.Action("addObject")).SetBody(map[string]any{"key": "baz", "foo": "2"})}),
))
if err != nil {
  // handle the eventual error
  panic(err)
}
Did you find this page helpful?
Go API clients v4