すべてのプロダクト
Search
ドキュメントセンター

OpenSearch:クエリ分析

最終更新日:Nov 10, 2025

このトピックでは、クエリ分析サービスの API の詳細について説明します。

サービス名

サービス ID

サービスの説明

API 呼び出しの QPS 制限 (Alibaba Cloud アカウントと RAM ユーザー)

クエリ分析サービス

ops-query-analyze-001

大規模言語モデルと NLP 機能を搭載したクエリコンテンツ分析サービスを提供します。このサービスには、ユーザー入力クエリのインテント検出、類似質問の展開、NL2SQL 処理が含まれており、RAG シナリオでの検索と回答生成のパフォーマンスを効果的に向上させます。

10

説明

より高い QPS を申請するには、チケットを送信してください。

  • 認証情報の取得

    API を介して OpenSearch Search Development Console サービスを呼び出す場合は、呼び出し元の ID を認証する必要があります。

  • サービスアクセスアドレスの取得

    パブリックネットワークと VPC の両方でサービスの呼び出しをサポートしています。詳細については、サービス登録アドレスの取得を参照してください。

概要

  • リクエストボディは 8MB を超えてはなりません。

リクエストメソッド

POST

URL

{host}/v3/openapi/workspaces/{workspace_name}/query-analyze/{service_id}
  • host: サービスを呼び出すためのアドレス。パブリックネットワークと VPC の両方を介した API サービスの呼び出しをサポートしています。詳細については、エンドポイントのクエリを参照してください。

  • service_id: システム組み込みのサービス ID。例: ops-query-analyze-001。

リクエストパラメータ

ヘッダーパラメータ

API-KEY 認証

パラメータ

タイプ

必須

説明

値の例

Content-Type

String

はい

リクエストタイプ: application/json

application/json

Authorization

String

はい

API-Key

Bearer OS-d1**2a

ボディパラメータ

パラメータ

タイプ

必須

説明

値の例

query

String

はい

このリクエストのコンテンツ。

何人ですか?

history

List<Message>

いいえ

履歴メッセージ。

[{

"content": "中国の首都はどこですか",

"role": "user"

},

{

"content": "北京",

"role": "assistant"

}]

history.content

String

いいえ

メッセージの内容。

中国の首都はどこですか

history.role

String

いいえ

メッセージの送信者。現在の役割のオプション値: system、user、assistant。

user

functions

List<Function>

いいえ

有効な関数と対応するパラメータ。

有効な値:

  • pre: 前処理。

  • intent: インテント検出。

  • similar_query: 類似クエリの展開

  • nl2sql: 自然言語から SQL へ

注:

  • デフォルトでは、pre、intent、similar_query が有効になっています。

  • nl2sql が有効な場合、intent と similar_query はデフォルトで無効になっています。

functions[].name

String

いいえ

関数を指定する場合は、name を指定する必要があります。

functions[].parameters

Map

いいえ

関数の parameters。

functions[].parameters.enable

boolean

いいえ

関数を有効にするかどうかを指定します。

true

レスポンスパラメータ

パラメータ

タイプ

説明

値の例

request_id

String

API 呼び出しに対してシステムによって割り当てられた一意の識別子。

A5B25952-4406-45BF-99EC-E8020246****

latency

Float/Int

リクエスト期間 (ミリ秒)。

10

result.query

String

処理されたリクエスト。

何人ですか

result.queries

List<String>

生成された代替クエリ。

[

"北京には何人いますか"

]

result.intent

String

インテント検出結果。

Q&A ペア

result.sql

Map

nl2sql の結果。

Curl リクエストの例

curl -XPOST -H"Content-Type: application/json" 
\http://****.opensearch.aliyuncs.com/v3/openapi/workspaces/default/query-analyze/ops-query-analyze-001\
    -H "Authorization: Bearer Your API-Key" \
    -d'{
      "query":"What class is Jack in", // Jack はどのクラスですか
      "history":[
          {
            "role":"user",
            "content":"Where is the capital of China" // 中国の首都はどこですか
          },
          {
            "role":"assistant",
            "content":"Beijing" // 北京
          }
        ],
        "functions":[
          {
            "name":"pre",
            "parameters":
              {
                "enable":true
              }
          },
          {
            "name":"intent",
            "parameters":
              {
                "enable":true
              }
            },
            {
              "name":"similar_query",
              "parameters":
                {
                  "enable":true
                }
              },
              {
                "name":"nl2sql",
                "parameters":
                  {
                    "enable":true,
                    "config_name":"n_1726047726"
                  }
                }
              ]
            }'

レスポンスの例

正常なレスポンスの例

{
  "request_id":"023FC760-E273-4163-B2DA-5CF28E2A****",
  "latency":6383,
  "usage":{
      "total_tokens":1082,
      "output_tokens":41,
      "input_tokens":1041
    },
    "result":{
      "query":"What class is Jack from", // Jack はどのクラス出身ですか
      "queries":[
          "The class Jack from" // Jack 出身のクラス
      ],
      "intent":"Q&A",
      "sql":{
          "text":"SELECT students.class FROM students WHERE students.name = 10002;"
      }
    }
}

異常なレスポンスの例

アクセスリクエストでエラーが発生した場合、出力結果は code と message によってエラーの理由を示します。

{
  "request_id":"19C54DAA-AD50-4B37-A48C-912A8F82****",
  "latency":0,
  "code":"InvalidParameter",
  "message":"Required parameter: query missing or invalid, please check the request parameter." // 必須パラメータ: query が欠落しているか無効です。リクエストパラメータを確認してください。
}

ステータスコードの説明

HTTP ステータスコード

エラーコード

説明

200

-

リクエスト成功。タスク失敗のシナリオも含みます。実際のタスクステータスは result.status から判断する必要があります。

404

BadRequest.TaskNotExist

タスクが存在しません。

400

InvalidParameter

無効なリクエスト。

500

InternalServerError

内部エラー。