同義語ルールの作成または更新
同義語セットのための同義語ルールを作成または更新します。
リクエスト
PUT _synonyms/<synonyms_set>/<synonym_rule>
前提条件
manage_search_synonyms
クラスター権限が必要です。
パスパラメータ
<synonyms_set>
- (必須、文字列)更新する同義語セットの識別子。
<synonym_rule>
- (必須、文字列)作成または更新する同義語ルールの識別子。
同義語ルールの作成または更新
同義語セットのための同義語ルールを作成または更新します。
例
次の例では、同義語セット my-synonyms-set
の既存の同義語ルール test-1
を更新します:
Python
resp = client.synonyms.put_synonym_rule(
set_id="my-synonyms-set",
rule_id="test-1",
synonyms="hello, hi, howdy",
)
print(resp)
Ruby
response = client.synonyms.put_synonym_rule(
set_id: 'my-synonyms-set',
rule_id: 'test-1',
body: {
synonyms: 'hello, hi, howdy'
}
)
puts response
Js
const response = await client.synonyms.putSynonymRule({
set_id: "my-synonyms-set",
rule_id: "test-1",
synonyms: "hello, hi, howdy",
});
console.log(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"
]
}
]
}
}
この同義語セットを使用しているすべてのアナライザーは、新しいルールを反映するために 自動的に再読み込みされます。
含まれている同義語ルールのいずれかが無効な場合、APIはエラーを返します。
Python
resp = client.synonyms.put_synonym_rule(
set_id="my-synonyms-set",
rule_id="test-1",
synonyms="hello => hi => howdy",
)
print(resp)
Js
const response = await client.synonyms.putSynonymRule({
set_id: "my-synonyms-set",
rule_id: "test-1",
synonyms: "hello => hi => howdy",
});
console.log(response);
コンソール
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
}