Create or update synonym ruleedit

This functionality is in beta and is subject to change. The design and code is less mature than official GA features and is being provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features.

Creates or updates a synonym rule for a synonym set.

Requestedit

PUT _synonyms/<synonyms_set>/<synonym_rule>

Prerequisitesedit

Requires the manage_search_synonyms cluster privilege.

Path parametersedit

<synonyms_set>
(Required, string) Synonyms set identifier to update.
<synonym_rule>
(Required, string) Synonym rule identifier to create or update.

Request bodyedit

synonyms

(Required, string) The synonym rule definition. This needs to be in Solr format. Some examples are:

  • "i-pod, i pod ⇒ ipod",
  • "universe, cosmos"

Examplesedit

The following example updates an existing synonym rule called test-1 for the synonyms set my-synonyms-set:

PUT _synonyms/my-synonyms-set/test-1
{
  "synonyms": "hello, hi, howdy"
}
{
  "result": "updated",
  "reload_analyzers_details": {
    "_shards": {
      "total": 2,
      "successful": 1,
      "failed": 0
    },
    "reload_details": [
      {
        "index": "test-index",
        "reloaded_analyzers": [
          "my_search_analyzer"
        ],
        "reloaded_node_ids": [
          "1wYFZzq8Sxeu_Jvt9mlbkg"
        ]
      }
    ]
  }
}

All analyzers using this synonyms set will be reloaded automatically to reflect the new rule.

If any of the synonym rules included is invalid, the API will return an error.

PUT _synonyms/my-synonyms-set/test-1
{
  "synonyms": "hello => hi => howdy"
}
{
  "error": {
    "root_cause": [
      {
        "type": "action_request_validation_exception",
        "reason": "Validation Failed: 1: More than one explicit mapping specified in the same synonyms rule: [hello => hi => howdy];",
        "stack_trace": ...
      }
    ],
    "type": "action_request_validation_exception",
    "reason": "Validation Failed: 1: More than one explicit mapping specified in the same synonyms rule: [hello => hi => howdy];",
    "stack_trace": ...
  },
  "status": 400
}