

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Personalización de los resultados de Amazon OpenSearch Service con Amazon Personalize
<a name="opensearch-service"></a>

Para personalizar OpenSearch los resultados de Amazon OpenSearch Service, haz lo siguiente:

1.  **Configure Amazon Personalize**: si aún no lo ha hecho, complete los pasos de [Configuración de Amazon Personalize](setup.md) para configurar sus credenciales y configurar los permisos para Amazon Personalize. No necesitas configurar el AWS SDKs para personalizar OpenSearch los resultados. 

1.  **Complete el flujo de trabajo de Amazon Personalize**: complete el flujo de trabajo de Amazon Personalize para importar datos, crear una solución con la fórmula Personalized-Ranking-v 2 o la receta de clasificación personalizada, preparar una versión de solución personalizada e implementarla en una campaña. Debe crear un conjunto de datos de interacciones de elementos. Un conjunto de datos de elementos y usuarios son opcionales. Para obtener más información, consulte [Detalles del flujo de trabajo de Amazon Personalize](personalize-workflow.md).

1.  **Configurar permisos**: configure los permisos para poder acceder a los recursos de Amazon Personalize desde su dominio de OpenSearch servicio. Para obtener más información, consulte [Configuración de permisos](opensearch-granting-access-managed.md). 

1.  **Instale el complemento Search Ranking de Amazon Personalize**: este complemento gestiona la comunicación con Amazon Personalize y la reclasificación de los resultados. Para obtener información sobre la instalación del complemento en un dominio OpenSearch de servicio, consulte[Instalación del complemento](open-search-install-managed.md).

1.  **Configure el complemento Search Ranking de Amazon Personalize**: para configurar el complemento, debe crear canalizaciones de búsqueda. Las *canalizaciones de búsqueda* son conjuntos de procesadores de solicitudes y respuestas. Cuando crea una canalización para el complemento, especifica sus recursos de Amazon Personalize en un procesador de respuestas `personalized_search_ranking`. También puede configurar el peso que el complemento otorga a los resultados de Amazon Personalize cuando cambia la clasificación de los resultados. Para obtener más información, consulte [Creación de una canalización](managed-opensearch-plugin-pipeline-example.md).

1.  **Aplique el complemento Amazon Personalize Search Ranking a OpenSearch las consultas**: después de configurar un proceso de búsqueda con un procesador de `personalized_search_ranking` respuestas, estará listo para aplicar el complemento Amazon Personalize Search Ranking a sus OpenSearch consultas y ver los resultados reclasificados. Para obtener información sobre cómo aplicar el complemento a las consultas OpenSearch del Servicio, consulte[Aplicación del complemento](managed-apply-plugin.md).

1.  **Comparar resultados**: el complemento Amazon Personalize Search Ranking reclasifica los resultados de búsqueda en la respuesta a la OpenSearch consulta. Considera tanto la clasificación de Amazon Personalize como la clasificación de OpenSearch. Para entender cómo se reclasifican los resultados, puede comparar los resultados de las consultas que utilizan la personalización y las que no. Para obtener información sobre cómo comparar los resultados con los OpenSearch del Servicio, consulte[Comparación de resultados](managed-comparing-results.md).

1.  **Supervise el complemento Search Ranking de Amazon Personalize**: al aplicar el complemento Search Ranking de Amazon Personalize a las consultas de búsqueda, puede supervisar el complemento obteniendo métricas de sus canalizaciones de búsqueda. Para obtener información sobre la supervisión del complemento con el OpenSearch Servicio, consulte[Supervisión del complemento](managed-monitor.md).

**Topics**
+ [Configuración de los permisos OpenSearch de Amazon Service](opensearch-granting-access-managed.md)
+ [Instalación del complemento Search Ranking de Amazon Personalize en un dominio de OpenSearch Service](open-search-install-managed.md)
+ [Creación de una canalización en Amazon OpenSearch Service](managed-opensearch-plugin-pipeline-example.md)
+ [Aplicación del complemento a las consultas de Amazon OpenSearch Service](managed-apply-plugin.md)
+ [Comparación de los resultados de Amazon OpenSearch Service personalizados con los resultados sin personalización](managed-comparing-results.md)
+ [Supervisión del complemento con Amazon OpenSearch Service](managed-monitor.md)

# Configuración de los permisos OpenSearch de Amazon Service
<a name="opensearch-granting-access-managed"></a>

Si utilizas Amazon OpenSearch Service, debes poder acceder a tus recursos de Amazon Personalize desde tu dominio de OpenSearch servicio. 

**Configuración de permisos de**

1. En función de si los recursos están en la misma cuenta o en cuentas diferentes, cree uno o más roles de servicio de IAM con permiso para acceder a los recursos.
   +  Si sus recursos de OpenSearch Service y Amazon Personalize están en la misma cuenta, crea un rol de servicio de IAM para OpenSearch Service y le concede permiso para obtener una clasificación personalizada de su campaña de Amazon Personalize. Para obtener más información, consulte [Configuración de permisos cuando los recursos están en la misma cuenta](service-role-managed.md).
   + Si sus recursos OpenSearch de Service y Amazon Personalize están en cuentas distintas, debe crear dos funciones de servicio de IAM. Usted crea uno en la cuenta con sus recursos de OpenSearch servicio y le otorga acceso a dichos OpenSearch recursos. Y cree otro en la cuenta con los recursos de Amazon Personalize y concédale permiso para obtener una clasificación personalizada de la campaña de Amazon Personalize. Para obtener más información, consulte [Configuración de permisos cuando los recursos están en cuentas distintas](configuring-multiple-accounts.md). 

1. Concede al usuario o rol que accede a tu dominio de OpenSearch servicio `PassRole` permisos para el rol de servicio de IAM que creaste para el OpenSearch Servicio. Para obtener más información, consulte [Configuración de la seguridad OpenSearch del dominio de Amazon Service](domain-user-managed.md).

Después de configurar los permisos, podrá instalar el complemento en el dominio. Para obtener más información, consulte [Instalación del complemento](open-search-install-managed.md).

**Topics**
+ [Configuración de permisos cuando los recursos están en la misma cuenta](service-role-managed.md)
+ [Configuración de permisos cuando los recursos están en cuentas distintas](configuring-multiple-accounts.md)
+ [Configuración de la seguridad OpenSearch del dominio de Amazon Service](domain-user-managed.md)

# Configuración de permisos cuando los recursos están en la misma cuenta
<a name="service-role-managed"></a>

Si sus recursos de OpenSearch Service y Amazon Personalize están en la misma cuenta, debe crear un rol de servicio de IAM para OpenSearch Service. Este rol debe tener permiso para obtener una clasificación personalizada de su campaña de Amazon Personalize. Para conceder a su función de servicio de OpenSearch servicio permiso para obtener una clasificación personalizada de su campaña Amazon Personalize, haga lo siguiente:
+ La política de confianza del rol debe conceder `AssumeRole` permisos para el OpenSearch Servicio. Para ver una política de ejemplo, consulte [Política de confianza de ejemplo](#opensearch-granting-access-managed-trust-policy). 
+ El rol debe tener permiso para obtener una clasificación personalizada de su campaña de Amazon Personalize. Para ver una política de ejemplo, consulte [Ejemplo de política de permisos](#opensearch-granting-access-managed-permissions-policy). 

Para obtener información sobre la creación de un rol de IAM, consulte [Creación de roles de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html) en la *Guía del usuario de IAM*. Para obtener información sobre cómo asociar una política de IAM a rol, consulte [Adición y eliminación de permisos de identidad de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) en la * Guía del usuario de IAM*.

Después de crear un rol de servicio de IAM para el OpenSearch servicio, debes conceder al usuario o rol que accede a tu dominio de OpenSearch servicio `PassRole` permisos para el rol de OpenSearch servicio de servicio. Para obtener más información, consulte [Configuración de la seguridad OpenSearch del dominio de Amazon Service](domain-user-managed.md).

**Topics**
+ [Política de confianza de ejemplo](#opensearch-granting-access-managed-trust-policy)
+ [Ejemplo de política de permisos](#opensearch-granting-access-managed-permissions-policy)

## Política de confianza de ejemplo
<a name="opensearch-granting-access-managed-trust-policy"></a>

El siguiente ejemplo de política de confianza concede `AssumeRole` permisos para el OpenSearch Servicio. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Sid": "",
        "Effect": "Allow",
        "Action": "sts:AssumeRole",
        "Principal": {
            "Service": [
                "es.amazonaws.com"
            ]
        }
    }]
}
```

------

## Ejemplo de política de permisos
<a name="opensearch-granting-access-managed-permissions-policy"></a>

El siguiente ejemplo de política concede al rol los permisos mínimos para obtener una clasificación personalizada de su campaña de Amazon Personalize. Para `Campaign ARN`, especifique el nombre de recurso de Amazon (ARN) de la campaña de Amazon Personalize. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "personalize:GetPersonalizedRanking"
            ],
            "Resource": "arn:aws:personalize:us-east-1:111122223333:campaign/YourResourceId"
        }
    ]
}
```

------

# Configuración de permisos cuando los recursos están en cuentas distintas
<a name="configuring-multiple-accounts"></a>

Si sus recursos de OpenSearch Service y Amazon Personalize están en cuentas distintas, debe crear un rol de IAM en cada cuenta y conceder al rol acceso a los recursos de la cuenta. 

**Configuración de permisos para varias cuentas**

1. En la cuenta en la que se encuentra la campaña de Amazon Personalize, cree un rol de IAM con permiso para obtener una clasificación personalizada de la campaña de Amazon Personalize. Al configurar el complemento, especifique el ARN de este rol en el parámetro `external_account_iam_role_arn` del procesador de respuestas `personalized_search_ranking`. Para obtener más información, consulte [Creación de una canalización en Amazon OpenSearch Service](managed-opensearch-plugin-pipeline-example.md). 

   Para ver una política de ejemplo, consulte [Ejemplo de política de permisos](service-role-managed.md#opensearch-granting-access-managed-permissions-policy).

1. En la cuenta en la que se encuentre su dominio de OpenSearch servicio, cree un rol con una política de confianza que otorgue `AssumeRole` permisos OpenSearch de servicio. Al configurar el complemento, especifique el ARN de este rol en el parámetro `iam_role_arn` del procesador de respuestas `personalized_search_ranking`. Para obtener más información, consulte [Creación de una canalización en Amazon OpenSearch Service](managed-opensearch-plugin-pipeline-example.md). 

   Para ver una política de ejemplo, consulte [Política de confianza de ejemplo](service-role-managed.md#opensearch-granting-access-managed-trust-policy). 

1. Modifique cada rol para conceder `AssumeRole` permisos al otro rol. Por ejemplo, para el rol que tiene acceso a sus recursos de Amazon Personalize, su política de IAM otorgaría al rol en la cuenta con el dominio de OpenSearch servicio los permisos de rol de la siguiente manera: 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
           "Sid": "",
           "Effect": "Allow",
           "Action": "sts:AssumeRole",
           "Resource": "arn:aws:iam::111122223333:role/roleName"
            
       }]
   }
   ```

------

1. En la cuenta en la que se encuentre su dominio de OpenSearch servicio, otorgue al usuario o rol que accede a su dominio de OpenSearch servicio `PassRole` permisos para el rol de OpenSearch servicio que acaba de crear. Para obtener más información, consulte [Configuración de la seguridad OpenSearch del dominio de Amazon Service](domain-user-managed.md).

# Configuración de la seguridad OpenSearch del dominio de Amazon Service
<a name="domain-user-managed"></a>

Para usar el complemento con el OpenSearch Servicio, el usuario o rol que accede a tu dominio debe tener `PassRole` permisos para el [rol de servicio de IAM del OpenSearch Servicio](service-role-managed.md) que acabas de crear. Además, el usuario o rol deben tener permiso para realizar las acciones `es:ESHttpGet` y `es:ESHttpPut`.

Para obtener información sobre cómo configurar el acceso al OpenSearch Servicio, consulte [Seguridad en Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/security.html) en la *Guía para desarrolladores de Amazon OpenSearch Service*. Para ver ejemplos de políticas, consulte [Ejemplos de políticas para el usuario o rol del OpenSearch servicio](#opensearch-domain-user-policy-examples). 

## Ejemplos de políticas para el usuario o rol del OpenSearch servicio
<a name="opensearch-domain-user-policy-examples"></a>

El siguiente ejemplo de política de IAM concede a un usuario o rol `PassRole` permisos para el rol de servicio de IAM que creó para OpenSearch Service en el que. [Configuración de permisos cuando los recursos están en la misma cuenta](service-role-managed.md)

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/aws-service-role/opensearchservice.amazonaws.com/AWSServiceRoleForAmazonOpenSearchService"
        }
    ]
}
```

------

La siguiente política de IAM concede los permisos mínimos para crear canalizaciones y consultas de búsqueda con Service. OpenSearch 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "es:ESHttpGet",
                "es:ESHttpPut"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:ResourceTag/environment": [
                        "production"
                    ]
                }
            }
        }
    ]
}
```

------

# Instalación del complemento Search Ranking de Amazon Personalize en un dominio de OpenSearch Service
<a name="open-search-install-managed"></a>

Tras completar el flujo de trabajo de Amazon Personalize y cumplir los requisitos que se indican en [Requisitos del complemento](plugin-requirements.md), estará listo para instalar el complemento en el dominio.

 Para usar el complemento, debe asociar `Amazon_Personalize_Search_Ranking_Plugin` al dominio. El complemento está preinstalado y no es necesario importarlo desde Amazon S3. El complemento se asocia de la misma manera que se asocia un paquete de OpenSearch Service. Para obtener información sobre cómo asociar un paquete de OpenSearch Service, consulte [Paquetes personalizados para Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/custom-packages.html#custom-packages-assoc). 

Después de asociar el complemento al dominio, estará listo para configurarlo. Para configurarlo, cree una canalización de búsqueda y especifique un procesador de respuestas `personalized_search_ranking`. Para obtener más información, consulte [Creación de una canalización](managed-opensearch-plugin-pipeline-example.md).

## Información adicional sobre dominios de Amazon OpenSearch Service
<a name="opensearch-service-additional-information"></a>

En los siguientes recursos se proporciona información adicional sobre el uso del dominio de Amazon OpenSearch Service. 
+ Para ver un tutorial conciso sobre cómo configurar un dominio de prueba, consulte el [paso 1: Crear un dominio de Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/gsg.html#gsgcreate-domain) en la sección “Introducción” de la *Guía para desarrolladores de Amazon OpenSearch Service*.
+ Para obtener pasos más detallados sobre la configuración de los dominios de OpenSearch Service, consulte [Creación y administración de dominios de Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html).
+ Para ver un tutorial conciso sobre cómo subir una pequeña cantidad de datos de prueba en OpenSearch Service, consulte el [Paso 2: Aubir datos a Amazon OpenSearch Service para su indexación](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/gsg.html#gsgupload-data) en la sección “Introducción” de la *Guía para desarrolladores de Amazon OpenSearch Service*.
+ Para obtener información completa sobre la ingesta de datos, consulte [Indexación de datos en Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/indexing.html) en la *Guía para desarrolladores de Amazon OpenSearch Service*.

# Creación de una canalización en Amazon OpenSearch Service
<a name="managed-opensearch-plugin-pipeline-example"></a>

Tras [instalar el complemento Search Ranking de Amazon Personalize](open-search-install-managed.md), estará listo para configurarlo mediante la creación de una canalización de búsqueda de OpenSearch. 

Una *canalización de búsqueda* es un conjunto de procesadores de solicitudes y respuestas que se ejecutan secuencialmente en el orden en que se crean. Cuando crea una canalización de búsqueda para el complemento, especifica un procesador de respuestas `personalized_search_ranking`. Para obtener información sobre las canalizaciones de búsqueda, consulta [Buscar canalizaciones](https://opensearch.org/docs/latest/search-plugins/search-pipelines/index/). 

Tras crear una canalización de búsqueda con un procesador de respuestas `personalized_search_ranking`, estará listo para empezar a aplicar el complemento a las consultas de OpenSearch. Puede aplicarlo a un índice de OpenSearch o a una consulta individual de OpenSearch. Para obtener más información, consulte [Aplicación del complemento](managed-apply-plugin.md). 

Puede usar el siguiente código de Python para crear una canalización de búsqueda con un procesador de respuestas `personalized_search_ranking` en un dominio de OpenSearch Service. Sustituya `domain endpoint` por la URL del punto de conexión de su dominio. Por ejemplo: `https://<domain name>.<AWS region>.es-staging.amazonaws.com`. Para obtener una explicación completa de cada parámetro de `personalized_search_ranking`, consulte [Campos para el procesador de respuestas `personalized_search_ranking`](opensearch-plugin-pipeline-fields.md). 

```
import requests
from requests_auth_aws_sigv4 import AWSSigV4

domain_endpoint = 'domain endpoint'
pipeline_name = 'pipeline name'
url = f'{domain_endpoint}/_search/pipeline/{pipeline_name}'
auth = AWSSigV4('es')

headers = {'Content-Type': 'application/json'}

body = {
  "description": "A pipeline to apply custom re-ranking from Amazon Personalize",
  "response_processors": [
    {
      "personalized_search_ranking" : {
        "campaign_arn" : "Amazon Personalize Campaign ARN",
        "item_id_field" : "productId",
        "recipe" : "aws-personalized-ranking-v2",
        "weight" : "0.3",
        "tag" : "personalize-processor",
        "iam_role_arn": "Role ARN",
        "aws_region": "AWS region",
        "ignore_failure": true
    }
  ]
}
try:
    response = requests.put(url, auth=auth, json=body, headers=headers, verify=False)
    print(response.text)
except Exception as e:
    print(f"Error: {e}")
```

# Aplicación del complemento a las consultas de Amazon OpenSearch Service
<a name="managed-apply-plugin"></a>

Después de [crear un canalización](managed-opensearch-plugin-pipeline-example.md), podrá aplicar el complemento Search Ranking de Amazon Personalize a las consultas. Puede aplicar el complemento Search Ranking de Amazon Personalize a todas las consultas y respuestas de un índice. También puede aplicar el complemento a consultas y respuestas individuales. 
+  Puede usar el siguiente código de Python para aplicar una canalización de búsqueda a un índice. Con este enfoque, todas las búsquedas que utilizan este índice utilizan el complemento para personalizar los resultados de la búsqueda.

  ```
  import requests
  from requests_auth_aws_sigv4 import AWSSigV4
  
  domain_endpoint = 'domain endpoint'
  index = 'index name'
  url = f'{domain_endpoint}/{index}/_settings/'
  auth = AWSSigV4('es')
  headers = {'Content-Type': 'application/json'}
  body = {
      "index.search.default_pipeline": "pipeline name"
  }
  try:
      response = requests.put(url, auth=auth, json=body, headers=headers)
      print(response.text)
  except Exception as e:
      print(f"Error: {e}")
  ```
+ Puede usar el siguiente código de Python para aplicar una canalización de búsqueda a una consulta individual para los coches de la marca Toyota.

  Actualice el código para especificar el punto de conexión de su dominio, su índice de OpenSearch Service, el nombre de su canalización y su consulta. Para `user_id`, especifique el ID del usuario del que va a obtener los resultados de la búsqueda. Este usuario debe estar en los datos que utilizó para crear la versión de solución de Amazon Personalize. Si el usuario no estuviera presente, Amazon Personalize clasifica los elementos según su popularidad.

  Para `context`, si utiliza metadatos contextuales, proporcione los metadatos contextuales del usuario, como su tipo de dispositivo. El campo `context` es opcional. Para obtener más información, consulte [Aumento de la relevancia de las recomendaciones con metadatos contextuales](contextual-metadata.md). 

  ```
  import requests
  from requests_auth_aws_sigv4 import AWSSigV4
  
  domain_endpoint = 'domain endpoint'
  index = 'index name'
  url = f'{domain_endpoint}/{index}/_search/'
  
  auth = AWSSigV4('es')
  headers = {'Content-Type': 'application/json'}
  params = {"search_pipeline": "pipeline-name"}
  body = {
      "query": {
          "multi_match": {
              "query": "Toyota",
              "fields": ["BRAND"]
          }
      },
      "ext": {
          "personalize_request_parameters": {
              "user_id": "USER ID",
              "context": { "DEVICE" : "mobile phone" }
          }
      }
  }
  try:
      response = requests.post(url, auth=auth, params=params, json=body, headers=headers, verify=False)
      print(response)
  except Exception as e:
      print(f"Error: {e}")
  ```

# Comparación de los resultados de Amazon OpenSearch Service personalizados con los resultados sin personalización
<a name="managed-comparing-results"></a>

El complemento Search Ranking de Amazon Personalize reorganiza los resultados de búsqueda en función de la clasificación de Amazon Personalize y la clasificación de OpenSearch. La forma en que el complemento reclasifica los resultados depende de cómo haya configurado el procesador de respuestas `personalized_search_ranking` en sus canalizaciones. 

Para comprender cómo se clasifican los resultados, puede ejecutar consultas con y sin personalización y compararlos. Puede usar el siguiente código de Python para ejecutar dos consultas diferentes y generar los resultados en dos archivos JSON. El primer método ejecuta una consulta que utiliza el complemento para volver a clasificar los resultados. El segundo ejecuta un método que genera resultados sin personalización.

```
import json
import requests
from requests_auth_aws_sigv4 import AWSSigV4


# Returns re-ranked OpenSearch results using the Amazon Personalize Search Ranking plugin.
def get_personalized_results(pipeline_name):
    url = f'{domain}/{index}/_search/'
    auth = AWSSigV4('es')
    headers = {'Content-Type': 'application/json'}
    params = {"search_pipeline": pipeline_name}
    body = {
        "query": {
            "multi_match": {
                "query": "Toyota",
                "fields": ["BRAND"]
            }
        },
        "ext": {
            "personalize_request_parameters": {
                "user_id": "1"
            }
        }
    }
    try:
        response = requests.post(url, auth=auth, params=params, json=body, headers=headers, verify=False)
    except Exception as e:
        return f"Error: {e}"
    return response.text


# Returns OpenSearch results without personalization.
def get_opensearch_results():
    url = f'{domain}/{index}/_search/'
    auth = AWSSigV4('es')
    headers = {'Content-Type': 'application/json'}
    body = {
        "query": {
            "multi_match": {
                "query": "Toyota",
                "fields": ["BRAND"]
            }
        }
    }
    try:
        response = requests.post(url, auth=auth, json=body, headers=headers, verify=False)
    except Exception as e:
        return f"Error: {e}"
    return response.text


def print_results(file_name, results):
    results_file = open(file_name, 'w')
    results_file.write(json.dumps(results, indent=4))
    results_file.close()


# specify domain endpoint
domain = "DOMAIN_ENDPOINT"

# specify the region where you created your Amazon Personalize resources and Amazon OpenSearch domain
aws_region = "REGION"

# specify the name of the pipeline that uses the Amazon Personalize plugin
pipeline_name = "PIPELINE_NAME"

# specify your Amazon OpenSearch index
index = "INDEX"

# specify names for json files for comparison
personalized_results_file = "personalized_results.json"
opensearch_results_file = "opensearch_results.json"

# get personalized results
personalized_results = json.loads(get_personalized_results(pipeline_name))

# get OpenSearch results without personalization
opensearch_results = json.loads(get_opensearch_results())

# print results to files
print_results(personalized_results_file, personalized_results)
print_results(opensearch_results_file, opensearch_results)
```

# Supervisión del complemento con Amazon OpenSearch Service
<a name="managed-monitor"></a>

Al aplicar el complemento Search Ranking de Amazon Personalize a las consultas de OpenSearch, puede supervisar el complemento obteniendo métricas para sus procesos de búsqueda. Las métricas de canalización incluyen estadísticas como el número de solicitudes con error del procesador de respuestas `personalized_search_ranking`. 

 Si utiliza OpenSearch Service, puede supervisar el complemento mediante métricas en Amazon CloudWatch. Para obtener más información, consulte [Monitoreo de los dominios de Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/monitoring.html). 

Puede utilizar el siguiente código de Python para obtener métricas para todas las canalizaciones. Para obtener un ejemplo de unas métricas de canalización, consulte [Ejemplo de métricas de canalización](monitor-response.md).

```
import requests
from requests_auth_aws_sigv4 import AWSSigV4

domain_endpoint = 'domain endpoint'
url = f'{domain_endpoint}/_nodes/stats/search_pipeline'

auth = AWSSigV4('es')
headers = {'Content-Type': 'application/json'}
try:
    response = requests.get(url, auth=auth, headers=headers, verify=False)
    print(response.text)
except Exception as e:
    print(f"Error: {e}")
```