Create or update rules

Create or update multiple rules.

If a rule with the specified object ID doesn’t exist, Algolia creates a new one. Otherwise, existing rules are replaced.

This operation is subject to indexing rate limits.

Usage

Required ACL: editSettings
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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.saveRules(
    indexName = "ALGOLIA_INDEX_NAME",
    rules = Seq(
      Rule(
        objectID = "a-rule-id",
        conditions = Some(
          Seq(
            Condition(
              pattern = Some("smartphone"),
              anchoring = Some(Anchoring.withName("contains"))
            )
          )
        ),
        consequence = Consequence(
          params = Some(
            ConsequenceParams(
              filters = Some("brand:apple")
            )
          )
        )
      ),
      Rule(
        objectID = "a-second-rule-id",
        conditions = Some(
          Seq(
            Condition(
              pattern = Some("apple"),
              anchoring = Some(Anchoring.withName("contains"))
            )
          )
        ),
        consequence = Consequence(
          params = Some(
            ConsequenceParams(
              filters = Some("brand:samsung")
            )
          )
        )
      )
    ),
    forwardToReplicas = Some(false),
    clearExistingRules = Some(true)
  ),
  Duration(100, "sec")
)
Did you find this page helpful?
Scala API clients v2