IMPORTANT: No additional bug fixes or documentation updates
will be released for this version. For the latest information, see the
current release documentation.
Create or update synonym rule
editCreate or update synonym rule
editCreates or updates a synonym rule for a synonym set.
Request
editPUT _synonyms/<synonyms_set>/<synonym_rule>
Prerequisites
editRequires the manage_search_synonyms
cluster privilege.
Path parameters
edit-
<synonyms_set>
- (Required, string) Synonyms set identifier to update.
-
<synonym_rule>
- (Required, string) Synonym rule identifier to create or update.
Request body
edit-
synonyms
-
(Required, string) The synonym rule definition. This needs to be in Solr format. Some examples are:
- "i-pod, i pod ⇒ ipod",
- "universe, cosmos"
Examples
editThe following example updates an existing synonym rule called test-1
for the synonyms set my-synonyms-set
:
response = client.synonyms.put_synonym_rule( set_id: 'my-synonyms-set', rule_id: 'test-1', body: { synonyms: 'hello, hi, howdy' } ) puts response
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 }