Todos los productos
Search
Centro de documentos

OpenSearch:Envío de documentos mediante el SDK de PHP

Última actualización: Sep 05, 2026

Utilice el SDK de PHP de OpenSearch para agregar, actualizar y eliminar documentos en su aplicación.

Configuración de variables de entorno

Configure las variables de entorno ALIBABA_CLOUD_ACCESS_KEY_ID y ALIBABA_CLOUD_ACCESS_KEY_SECRET.

Importante
  • El par de AccessKey de una cuenta de Alibaba Cloud permite acceder a todas las operaciones de la API. Se recomienda utilizar un usuario de Resource Access Management (RAM) para invocar operaciones de la API o realizar tareas rutinarias de operación y mantenimiento. Para obtener información sobre cómo usar un usuario de RAM, consulte Create a RAM user.

  • Para obtener información sobre cómo crear un par de AccessKey, consulte Create an AccessKey pair.

  • Si utiliza el par de AccessKey de un usuario de RAM, asegúrese de que se hayan otorgado los permisos obligatorios al rol AliyunServiceRoleForOpenSearch mediante su cuenta de Alibaba Cloud. Para obtener más información, consulte AliyunServiceRoleForOpenSearch y Access authorization rules.

  • Se recomienda no incluir su par de AccessKey en materiales fácilmente accesibles para otros, como el código del proyecto. De lo contrario, su par de AccessKey podría filtrarse y comprometer la seguridad de los recursos de su cuenta.

  • Linux y macOS

    Ejecute los comandos a continuación. Reemplace <access_key_id> y <access_key_secret> con el ID de AccessKey y el secreto de AccessKey del usuario de RAM que utilice.

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

    1. Cree un archivo de variables de entorno, agregue las variables de entorno ALIBABA_CLOUD_ACCESS_KEY_ID y ALIBABA_CLOUD_ACCESS_KEY_SECRET al archivo y, a continuación, establezca las variables de entorno con su ID de AccessKey y su secreto de AccessKey.

    2. Reinicie Windows para que el par de AccessKey surta efecto.

Creación de un archivo de configuración

Este archivo especifica el par de AccessKey, el endpoint de la API, el nombre de la aplicación, el modelo de sugerencias desplegables y las opciones utilizadas para enviar y consultar documentos.

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

// Specify your AccessKey pair.
// Obtain the AccessKey ID and AccessKey secret from environment variables. 
// You must configure environment variables before you run this code. For more information, see the "Configure environment variables" section of this topic.
// Specify the Accesskey ID.
$accessKeyId = getenv('ALIBABA_CLOUD_ACCESS_KEY_ID');
// Specify the AccessKey secret.
$secret = getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET');
// Specify the endpoint of the OpenSearch API in your region. You can obtain the endpoint on the details page of the application in the OpenSearch console.
$endPoint = '<region endPoint>';
// Specify the application name.
$appName = '<app name>';
// Specify the name of the drop-down suggestion model.
$suggestName = '<suggest name>';
// Enable the debugging mode.
$options = array('debug' => true);
// Create an OpenSearchClient object.
$client = new OpenSearchClient($accessKeyId, $secret, $endPoint, $options);

Envío de documentos

Agregar documentos

En el ejemplo a continuación se agregan 10 documentos a una aplicación de OpenSearch.

<?php
// Import the header file.
require_once("Config.inc.php");
use OpenSearch\Client\DocumentClient;
// Specify the table to which you want to push documents.
$tableName = 'The table to which you want to push documents';
// Create a DocumentClient object.
$documentClient = new DocumentClient($client);
// Add the documents to be pushed to an array.
$docsToUpload = array();
for ($i = 0; $i < 10; $i++){
    $item = array();
    $item['cmd'] = 'ADD';
    $item["fields"] = array(
        "id" => $i + 1,
        "name" => "Search".$i
        );
    $docsToUpload[] = $item;
}
// Encode the documents to be pushed into a JSON string.
$json = json_encode($docsToUpload);
// Call the push method to push the documents.
$ret = $documentClient->push($json, $appName, $tableName);

Actualizar documentos

<?php
// Import the header file.
require_once("Config.inc.php");
use OpenSearch\Client\DocumentClient;
// Specify the table to which you want to push documents.
$tableName = 'The table to which you want to push documents';
// Create a DocumentClient object.
$documentClient = new DocumentClient($client);
// Add the documents to be pushed to an array.
$docsToUpload = array();
$item = array();
// Only OpenSearch applications of the advanced edition support the UPDATE operation.
$item['cmd'] = 'UPDATE';
$item["fields"] = array(
    "id" => 1,
    "name" => "OpenSearch"
);
$docsToUpload[] = $item;
// Encode the documents to be pushed into a JSON string.
$json = json_encode($docsToUpload);
// Call the push method to push the documents.
$ret = $documentClient->push($json, $appName, $tableName);

Eliminar documentos

<?php
// Import the header file.
require_once("Config.inc.php");
use OpenSearch\Client\DocumentClient;
// Specify the table to which you want to push documents.
$tableName = 'The table to which you want to push documents';
// Create a DocumentClient object.
$documentClient = new DocumentClient($client);
// Add the documents to be pushed to an array.
$docsToUpload = array();
$item = array();
$item['cmd'] = 'DELETE';
$item["fields"] = array(
    "id" => 1, // Enter the primary key IDs of the documents to be deleted.
);
$docsToUpload[] = $item;
// Encode the documents to be pushed into a JSON string.
$json = json_encode($docsToUpload);
// Call the push method to push the documents.
$ret = $documentClient->push($json, $appName, $tableName);