

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.

# 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}")
```