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

OpenSearch:検索デモ

最終更新日:Mar 19, 2026

このトピックでは、PHP ソフトウェア開発キット(SDK)を用いた検索の実行方法について説明し、具体的な使用例を示します。

環境変数の設定

ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET の環境変数を設定します。

重要
  • Alibaba Cloud アカウント(root ユーザー)の AccessKey ペアは、すべての API オペレーションにアクセスできます。API オペレーションの呼び出しや日常的な運用・保守(O&M)には、Resource Access Management (RAM) ユーザーをご利用いただくことを推奨します。RAM ユーザーの利用方法については、「RAM ユーザーの作成」をご参照ください。

  • AccessKey ペアの作成手順については、「AccessKey ペアの作成」をご参照ください。

  • RAM ユーザーの AccessKey ペアを利用する場合は、Alibaba Cloud アカウントから AliyunServiceRoleForOpenSearch ロールに必要な権限が付与されていることを確認してください。詳細については、「AliyunServiceRoleForOpenSearch」および「アクセス権限付与ルール」をご参照ください。

  • AccessKey ペアをプロジェクトコードなど、第三者が容易に閲覧可能な資料に含めないでください。そうしないと、AccessKey ペアが漏洩し、アカウント内のリソースが不正アクセスのリスクにさらされる可能性があります。

  • Linux および macOS

    以下のコマンドを実行します。<access_key_id> および <access_key_secret> は、ご利用の RAM ユーザーの AccessKey ID および AccessKey Secret に置き換えてください。

    export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id> 
    export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret>
  • Windows

    1. 環境変数ファイルを作成し、ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET の環境変数をファイルに追加した後、それぞれをご利用の AccessKey ID および AccessKey Secret に設定します。

    2. AccessKey ペアを有効化するため、Windows を再起動します。

Config ヘッダーファイルの作成

Config ファイルは、ドキュメントの検索およびプッシュ処理におけるヘッダーファイルとして機能します。AccessKey、ホスト、アプリケーション名、オプションなどの重要なパラメーターを含みます。

<?php
// ヘッダーファイルをインポートします。
require_once("../OpenSearch/Autoloader/Autoloader.php");
use OpenSearch\Client\OpenSearchClient;

// ユーザーの ID 情報。
// 環境変数から AccessKey ID および AccessKey Secret を読み込みます。
// このサンプルコードを実行する前に、環境変数を設定する必要があります。詳細については、本トピック内の「環境変数の設定」セクションをご参照ください。
// ご利用の AccessKey ID に置き換えてください。
$accessKeyId = getenv('ALIBABA_CLOUD_ACCESS_KEY_ID');
// ご利用の AccessKey Secret に置き換えてください。
$secret = getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET');
// ご利用のリージョンのエンドポイントに置き換えてください。コンソールでアプリケーションの基本情報ページより確認できます。
$endPoint = '<region endPoint>';
// ご利用のアプリケーション名に置き換えてください。
$appName = '<app name>';
// デバッグモードを有効化します。
$options = array('debug' => true);
// OpenSearchClient オブジェクトを作成します。
$client = new OpenSearchClient($accessKeyId, $secret, $endPoint, $options);

検索の実行

以下は、簡易検索機能の使用例です:

<?php
header("Content-Type:text/html;charset=utf-8");
// ヘッダーファイルを参照します。
require_once("Config.inc.php");
use OpenSearch\Client\SearchClient;
use OpenSearch\Util\SearchParamsBuilder;
// 検索クラスのインスタンスを作成します。
$searchClient = new SearchClient($client);
// 検索パラメータークラスのインスタンスを作成します。
$params = new SearchParamsBuilder();
// config 句の start 値を設定します。
$params->setStart(0);
// config 句の hits 値を設定します。
$params->setHits(20);
// 検索対象のアプリケーションを指定します。
$params->setAppName('ご利用のアプリケーション名に置き換えてください');
// 検索キーワードを指定します。
$params->setQuery("name:'search'");
// 検索結果のフォーマットを JSON 形式に指定します。
$params->setFormat("fulljson");
// ソートフィールドを追加します。
$params->addSort('RANK', SearchParamsBuilder::SORT_DECREASE);
// 検索を実行し、検索結果を取得します。
$ret = $searchClient->execute($params->build());
// JSON 文字列をデコードします。
print_r(json_decode($ret->result,true));
// デバッグ情報を出力します。
echo $ret->traceInfo->tracer;