スペル修正は、検索クエリ内の入力ミスを検出して修正する機能です。これにより、ユーザーは入力に誤りがあっても関連性の高い検索結果を得ることができます。OpenSearch は、修正候補を検出すると、その修正の信頼性に基づいて、修正後のクエリで検索を実行するか、元のクエリで検索を実行するかを決定します。
スペル修正の仕組み
OpenSearch は、各検索クエリのスペルミスを評価し、次のロジックを適用します:
修正の信頼性が高い場合 (
correction_level: 1)、OpenSearch は修正後のクエリを使用します。修正の信頼性が低い場合 (
correction_level: 2)、OpenSearch は元のクエリを使用します。
どちらの場合でも、検索応答の qp フィールドには、元のクエリと修正後のクエリの両方が含まれます:
{
"qp": [
{
"app_name": "検索に使用される OpenSearch アプリケーションの名前",
"query_correction_info": [
{
"index": "検索に使用されるインデックスの名前",
"original_query": "元の検索クエリ",
"corrected_query": "エラーが修正された新しい検索クエリ",
"correction_level": 1
}
]
}
]
}correction_level フィールドは、スペル修正の信頼性を示します:
| 値 | 信頼性 | 検索動作 |
|---|---|---|
1 | 高 | OpenSearch は修正後のクエリを使用します |
2 | 低 | OpenSearch は元のクエリを使用します |
スペル修正の有効化
OpenSearch コンソールにログインします。左側のナビゲーションウィンドウで、Retrieval Configuration をクリックします。基本設定ページで、左側のペインにある Query Analysis Rule Configuration をクリックします。クエリ分析ルール設定ページで、アプリケーションと、そのオンラインまたはオフラインバージョンを選択し、Create をクリックします。

Create Rule パネルで、ルール名を入力し、インデックス範囲を指定し、業種タイプを選択し、Spelling Correction を選択してから、OK をクリックします。
説明介入辞書が指定されていない場合、OpenSearch は組み込みの辞書を使用してスペルミスを修正します。検出されたスペルミスが正しくない場合、または組み込みの辞書に基づいてスペルミスが検出されない場合は、介入辞書を指定してください。詳細については、「スペル修正のための介入辞書」をご参照ください。
ルールが作成されたら、検索テストを実行します。

クエリ分析のプロセスを表示するには、クエリ分析の詳細をクリックします。

クエリ分析プロセスが正しいことを確認したら、クエリ分析ルール設定ページで Index Orientation をクリックし、作成したクエリ分析ルールをデフォルトのクエリ分析ルールとして設定します。

デフォルトのクエリ分析ルールが正しく設定されていることを確認します。

スペル修正のための介入辞書
介入辞書は、組み込み辞書を補足するカスタム修正エントリのコレクションです。組み込み辞書でスペルミスが特定されない場合や、組み込み辞書で特定された修正がご利用のユースケースでは無効な場合に、介入辞書を使用します。
介入辞書を作成したら、組み込みの修正動作をオーバーライドまたは拡張するために、クエリ分析ルールを作成または変更する際にそれを指定します。詳細については、「介入辞書によるスペル修正」をご参照ください。