Tous les produits
Search
Centre de documentation

OpenSearch:PHP SDK search demo

Dernière mise à jour :Aug 10, 2026

Utilisez le SDK PHP d'OpenSearch pour implémenter la recherche et récupérer les résultats depuis votre application.

Configurer les variables d'environnement

Configurez les variables d'environnement ALIBABA_CLOUD_ACCESS_KEY_ID et ALIBABA_CLOUD_ACCESS_KEY_SECRET.

Important
  • La paire AccessKey d'un compte Alibaba Cloud permet d'accéder à toutes les opérations API. Nous vous recommandons d'utiliser un utilisateur Resource Access Management (RAM) pour appeler les opérations API ou effectuer les opérations de maintenance courantes. Pour savoir comment utiliser un utilisateur RAM, consultez la rubrique Créer un utilisateur RAM.

  • Pour savoir comment créer une paire AccessKey, consultez la rubrique Créer une paire AccessKey.

  • Si vous utilisez la paire AccessKey d'un utilisateur RAM, assurez-vous que le rôle AliyunServiceRoleForOpenSearch dispose des autorisations requises via votre compte Alibaba Cloud. Pour plus d'informations, consultez les rubriques AliyunServiceRoleForOpenSearch et Règles d'autorisation d'accès.

  • Nous vous déconseillons d'inclure votre paire AccessKey dans des documents facilement accessibles à des tiers, tels que le code du projet. Dans le cas contraire, votre paire AccessKey pourrait être divulguée et compromettre la sécurité des ressources de votre compte.

  • Linux et macOS

    Exécutez les commandes suivantes. Remplacez <access_key_id> et <access_key_secret> par l'AccessKey ID et l'AccessKey secret de l'utilisateur RAM utilisé.

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

    1. Créez un fichier de variables d'environnement, ajoutez-y les variables d'environnement ALIBABA_CLOUD_ACCESS_KEY_ID et ALIBABA_CLOUD_ACCESS_KEY_SECRET, puis définissez-les avec votre AccessKey ID et votre AccessKey secret.

    2. Redémarrez Windows pour que la paire AccessKey prenne effet.

Créer un fichier d'en-tête Config

Le fichier Config sert d'en-tête pour les requêtes et les envois de documents. Il contient des paramètres tels que l'AccessKey, l'hôte, le nom de l'application et les options.

<?php
// Import the header file.
require_once("../OpenSearch/Autoloader/Autoloader.php");
use OpenSearch\Client\OpenSearchClient;

// User identity information.
// Read the AccessKey ID and AccessKey secret from the environment variables.
// Before you run the sample code, you must configure the environment variables. For more information, see the "Configure environment variables" section in this topic.
// Replace with your AccessKey ID.
$accessKeyId = getenv('ALIBABA_CLOUD_ACCESS_KEY_ID');
// Replace with your AccessKey secret.
$secret = getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET');
// Replace with the endpoint of your region. You can find the endpoint on the Basic Information page of your application in the console.
$endPoint = '<region endPoint>';
// Replace with your application name.
$appName = '<app name>';
// Enable the debug mode.
$options = array('debug' => true);
// Create an OpenSearchClient object.
$client = new OpenSearchClient($accessKeyId, $secret, $endPoint, $options);

Effectuer une recherche

Exemple de recherche simple :

<?php
header("Content-Type:text/html;charset=utf-8");
// Reference the header file.
require_once("Config.inc.php");
use OpenSearch\Client\SearchClient;
use OpenSearch\Util\SearchParamsBuilder;
// Instantiate a search class.
$searchClient = new SearchClient($client);
// Instantiate a search parameter class.
$params = new SearchParamsBuilder();
// Set the start value of the config clause.
$params->setStart(0);
// Set the hits value of the config clause.
$params->setHits(20);
// Specify an application for the search.
$params->setAppName('Replace with your application name');
// Specify the search keyword.
$params->setQuery("name:'search'");
// Specify the format of the search results as JSON.
$params->setFormat("fulljson");
// Add a sort field.
$params->addSort('RANK', SearchParamsBuilder::SORT_DECREASE);
// Execute the search and obtain the search results.
$ret = $searchClient->execute($params->build());
// Decode the JSON string.
print_r(json_decode($ret->result,true));
// Print the debug information.
echo $ret->traceInfo->tracer;