検索候補機能は、ユーザーが検索クエリを入力する際、入力途中のテキストに一致する候補を最大 10 件表示し、入力を補完する機能です。OpenSearch は、漢字のプレフィックス、ピンインの完全なスペル、およびピンインの頭文字入力に対応しており、インテリジェントな自動補完を実現します。
検索候補モデルを設定し、ブロックリストをセットアップし、プロモートされたクエリを追加するには、「検索候補」をご参照ください。
検索候補のクエリ
エンドポイント
GET /v3/openapi/apps/{appName}/suggest/{suggestName}/search| パスパラメーター | 説明 |
|---|---|
appName | ご利用の OpenSearch アプリケーションの名前 |
suggestName | ご利用の検索候補モデルの名前 |
エンドポイントには、ホスト、リクエストヘッダー、およびエンコーディングの詳細が含まれません。完全な接続フォーマットについては、「検索リクエストを開始する」をご参照ください。
サポートされているフォーマット: JSON
リクエストパラメーター
| パラメーター | タイプ | 必須 | 有効な値 | デフォルト | 説明 |
|---|---|---|---|---|---|
query | STRING | はい | — | — | 検索ボックスに入力されたテキスト。値に漢字が含まれる場合は、URL エンコードしてください。 |
hit | INT | いいえ | 1~10 | 10 | 返される候補の数。 |
user_id | STRING | いいえ | — | — | リクエストを送信するユーザーの ID。値を URL エンコードしてください。データ検索リクエストと同じ user_id を使用することを推奨します。 |
re_search | STRING | いいえ | disable | 有効 | 検索クエリ内の term を同音異義語に置き換えてドキュメントを取得するかどうかを指定します。この機能を無効にするには、disable に設定します。 |
注: ここでのqueryパラメーターは、データ検索リクエストのqueryとは異なります。検索候補リクエストでは、queryはユーザーが検索ボックスに入力する生のテキストであり、インデックスフィールド名である必要はありません。
レスポンスパラメーター
| パラメーター | タイプ | 説明 |
|---|---|---|
request_id | STRING | リクエスト ID。トラブルシューティングに使用されます。 |
searchtime | FLOAT | エンジンがクエリを完了するまでにかかった時間 (秒単位)。 |
suggestions | ARRAY | 一致した候補。各要素は、1 つの候補文字列を含むオブジェクトです。 |
errors | ARRAY | エラーの詳細。message フィールドにエラーの説明が含まれています。詳細については、「エラーコード」をご参照ください。 |
例
リクエスト
http://$host/v3/openapi/apps/app_demo/suggest/suggest_demo/search?hit=10&query=One-piece dress&user_id=xxxapp_demo— アプリケーション名suggest_demo— 検索候補モデル名hit=10— 最大 10 件の候補を返すquery=One-piece dress— 検索ボックスに入力されたテキスト
成功レスポンス
{
"request_id": "150116615820104116121674",
"searchtime": 0.002654,
"suggestions": [
{"suggestion": "One-piece dress"},
{"suggestion": "One-piece dress for Spring"},
{"suggestion": "One-piece dress for art enthusiasts"}
]
}エラーレスポンス
{
"request_id": "150116635320104116122572",
"searchtime": 0.037484,
"suggestions": [],
"errors": [
{
"code": 2551,
"message": "suggester not found"
}
]
}エラーコードの完全なリストについては、「エラーコード」をご参照ください。
次のステップ
ドロップダウンサジェスト — コンソールでサジェストモデル、ブロックリスト、およびプロモーションクエリを設定します
検索リクエストを開始する — サジェストおよび検索リクエストで同じ
user_idを使用します