同義語ルールの作成または更新

同義語セットのための同義語ルールを作成または更新します。

リクエスト

PUT _synonyms/<synonyms_set>/<synonym_rule>

前提条件

manage_search_synonyms クラスター権限が必要です。

パスパラメータ

  • <synonyms_set>
  • (必須、文字列)更新する同義語セットの識別子。
  • <synonym_rule>
  • (必須、文字列)作成または更新する同義語ルールの識別子。

同義語ルールの作成または更新

同義語セットのための同義語ルールを作成または更新します。

次の例では、同義語セット my-synonyms-set の既存の同義語ルール test-1 を更新します:

Python

  1. resp = client.synonyms.put_synonym_rule(
  2. set_id="my-synonyms-set",
  3. rule_id="test-1",
  4. synonyms="hello, hi, howdy",
  5. )
  6. print(resp)

Ruby

  1. response = client.synonyms.put_synonym_rule(
  2. set_id: 'my-synonyms-set',
  3. rule_id: 'test-1',
  4. body: {
  5. synonyms: 'hello, hi, howdy'
  6. }
  7. )
  8. puts response

Js

  1. const response = await client.synonyms.putSynonymRule({
  2. set_id: "my-synonyms-set",
  3. rule_id: "test-1",
  4. synonyms: "hello, hi, howdy",
  5. });
  6. console.log(response);

コンソール

  1. PUT _synonyms/my-synonyms-set/test-1
  2. {
  3. "synonyms": "hello, hi, howdy"
  4. }

コンソール-結果

  1. {
  2. "result": "updated",
  3. "reload_analyzers_details": {
  4. "_shards": {
  5. "total": 2,
  6. "successful": 1,
  7. "failed": 0
  8. },
  9. "reload_details": [
  10. {
  11. "index": "test-index",
  12. "reloaded_analyzers": [
  13. "my_search_analyzer"
  14. ],
  15. "reloaded_node_ids": [
  16. "1wYFZzq8Sxeu_Jvt9mlbkg"
  17. ]
  18. }
  19. ]
  20. }
  21. }

この同義語セットを使用しているすべてのアナライザーは、新しいルールを反映するために 自動的に再読み込みされます

含まれている同義語ルールのいずれかが無効な場合、APIはエラーを返します。

Python

  1. resp = client.synonyms.put_synonym_rule(
  2. set_id="my-synonyms-set",
  3. rule_id="test-1",
  4. synonyms="hello => hi => howdy",
  5. )
  6. print(resp)

Js

  1. const response = await client.synonyms.putSynonymRule({
  2. set_id: "my-synonyms-set",
  3. rule_id: "test-1",
  4. synonyms: "hello => hi => howdy",
  5. });
  6. console.log(response);

コンソール

  1. PUT _synonyms/my-synonyms-set/test-1
  2. {
  3. "synonyms": "hello => hi => howdy"
  4. }

コンソール-結果

  1. {
  2. "error": {
  3. "root_cause": [
  4. {
  5. "type": "action_request_validation_exception",
  6. "reason": "Validation Failed: 1: More than one explicit mapping specified in the same synonyms rule: [hello => hi => howdy];",
  7. "stack_trace": ...
  8. }
  9. ],
  10. "type": "action_request_validation_exception",
  11. "reason": "Validation Failed: 1: More than one explicit mapping specified in the same synonyms rule: [hello => hi => howdy];",
  12. "stack_trace": ...
  13. },
  14. "status": 400
  15. }