

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Personalização de resultados do Amazon OpenSearch Service com o Amazon Personalize
<a name="opensearch-service"></a>

Para personalizar OpenSearch os resultados do Amazon OpenSearch Service, você faz o seguinte:

1.  **Configure o Amazon Personalize** — Para isso, conclua as etapas em [Configuração do Amazon Personalize](setup.md) para configurar suas credenciais e as permissões para o Amazon Personalize. Você não precisa configurar o AWS SDKs para personalizar OpenSearch os resultados. 

1.  **Conclua o fluxo de trabalho do Amazon Personalize** — Conclua o fluxo de trabalho do Amazon Personalize para importar dados, criar uma solução com Personalized-Ranking-v a receita de classificação 2 ou personalizada, treinar uma versão de solução personalizada e implantá-la em uma campanha. É necessário criar um conjunto de dados de interações com itens. Um conjunto de dados de usuários e um conjunto de dados de itens são opcionais. Para obter mais informações, consulte [Detalhes do fluxo de trabalho do Amazon Personalize](personalize-workflow.md).

1.  **Configure permissões** — Configure permissões para que você possa acessar seus recursos do Amazon Personalize a partir do seu domínio de OpenSearch serviço. Para obter mais informações, consulte [Configurar permissões](opensearch-granting-access-managed.md). 

1.  **Instalar o plug-in Classificação de pesquisas do Amazon Personalize**: esse plug-in auxilia na comunicação com o Amazon Personalize e com os resultados de reclassificação. Para obter informações sobre como instalar o plug-in em um domínio OpenSearch de serviço, consulte[Instalar o plug-in](open-search-install-managed.md).

1.  **Configure o plug-in Classificação de pesquisas do Amazon Personalize** — Para fazer isso, você vai criar pipelines de pesquisa. Os *pipelines de pesquisa* são conjuntos de processadores de solicitações e respostas. Na hora de criar um pipeline para o plug-in, você especifica seus recursos do Amazon Personalize em um processador de respostas do `personalized_search_ranking`. Você também configura a importância que o plug-in atribui aos resultados do Amazon Personalize quando está reclassificando os resultados. Para obter mais informações, consulte [Criar um pipeline](managed-opensearch-plugin-pipeline-example.md).

1.  **Aplique o plug-in Amazon Personalize Search Ranking às OpenSearch consultas** — Depois de configurar um pipeline de pesquisa com um processador de `personalized_search_ranking` respostas, você estará pronto para aplicar o plug-in Amazon Personalize Search Ranking às suas OpenSearch consultas e visualizar os resultados reclassificados. Para obter informações sobre como aplicar o plug-in às consultas OpenSearch de serviço, consulte[Aplicar o plug-in](managed-apply-plugin.md).

1.  **Compare resultados** — O plug-in Amazon Personalize Search Ranking reclassifica os resultados da pesquisa na resposta da OpenSearch consulta. Ele considera tanto a classificação do Amazon Personalize quanto a classificação de. OpenSearch Para entender a reclassificação dos resultados, compare os resultados das consultas que usam personalização e que não usam. Para obter informações sobre a comparação de resultados com o OpenSearch Serviço, consulte[comparar os resultados](managed-comparing-results.md).

1.  **Monitore o plug-in Classificação de pesquisas do Amazon Personalize** — Quando você aplica este plug-in às consultas de pesquisa, é possível monitorá-lo conferido métricas para os canais de pesquisa. Para obter informações sobre o monitoramento do plug-in com o OpenSearch Service, consulte[Como monitorar o plug-in](managed-monitor.md).

**Topics**
+ [Configurando as permissões do Amazon OpenSearch Service](opensearch-granting-access-managed.md)
+ [Instalar o plug-in Classificação de pesquisas do Amazon Personalize em um domínio do OpenSearch Service.](open-search-install-managed.md)
+ [Criar um pipeline com o Amazon OpenSearch Service](managed-opensearch-plugin-pipeline-example.md)
+ [Como aplicar o plug-in às consultas do Amazon OpenSearch Service](managed-apply-plugin.md)
+ [Comparar os resultados personalizados do Amazon OpenSearch Service com os resultados sem personalização](managed-comparing-results.md)
+ [Como monitorar o plugin com o Amazon OpenSearch Service](managed-monitor.md)

# Configurando as permissões do Amazon OpenSearch Service
<a name="opensearch-granting-access-managed"></a>

Se você usa o Amazon OpenSearch Service, você deve ser capaz de acessar seus recursos do Amazon Personalize a partir do seu domínio do OpenSearch Serviço. 

**Configurar permissões**

1. Crie um ou mais perfis de serviço do IAM com permissão para acessar seus recursos levando em consideração se estão na mesma conta ou em contas diferentes.
   +  Se o seu OpenSearch Serviço e os recursos do Amazon Personalize estiverem na mesma conta, você cria uma função de serviço do IAM para o OpenSearch Serviço e concede a ele permissão para obter uma classificação personalizada da sua campanha do Amazon Personalize. Para obter mais informações, consulte [Configurar permissões quando recursos estão na mesma conta](service-role-managed.md).
   + Se seus recursos OpenSearch Service e Amazon Personalize estiverem em contas separadas, você cria duas funções de serviço do IAM. Você cria uma na conta com seus recursos de OpenSearch serviço e concede a ela acesso aos seus recursos OpenSearch de serviço. E crie um perfil de serviço do IAM para o OpenSearch Service e conceda a ele permissão para obter uma classificação personalizada da sua campanha do Amazon Personalize. Para obter mais informações, consulte [Configurar permissões quando os recursos estão em contas diferentes](configuring-multiple-accounts.md). 

1. Conceda ao usuário ou função que está acessando seu domínio OpenSearch de serviço `PassRole` permissões para a função de serviço do IAM que você criou para o OpenSearch Serviço. Para obter mais informações, consulte [Configurando a segurança do domínio OpenSearch do Amazon Service](domain-user-managed.md).

Depois de configurar as permissões, tudo estará pronto para instalar o plug-in no seu domínio. Para obter mais informações, consulte [Instalar o plug-in](open-search-install-managed.md).

**Topics**
+ [Configurar permissões quando recursos estão na mesma conta](service-role-managed.md)
+ [Configurar permissões quando os recursos estão em contas diferentes](configuring-multiple-accounts.md)
+ [Configurando a segurança do domínio OpenSearch do Amazon Service](domain-user-managed.md)

# Configurar permissões quando recursos estão na mesma conta
<a name="service-role-managed"></a>

Se seus recursos OpenSearch Service e Amazon Personalize estiverem na mesma conta, você deverá criar uma função de serviço do IAM para OpenSearch o Service. Essa função precisa ter permissão para obter uma classificação personalizada da sua campanha do Amazon Personalize. O seguinte é necessário para conceder permissão à sua função de OpenSearch serviço de serviço para obter uma classificação personalizada de sua campanha Amazon Personalize:
+ A política de confiança da função deve conceder `AssumeRole` permissões para o OpenSearch Serviço. Para ver um exemplo de política de confiança, consulte [Exemplo de política de confiança](#opensearch-granting-access-managed-trust-policy). 
+ A função precisa ter permissão para obter uma classificação personalizada da sua campanha do Amazon Personalize. Para ver um exemplo de política, consulte [Exemplo de política de permissões](#opensearch-granting-access-managed-permissions-policy). 

Para aprender a criar perfis do IAM, consulte [Como criar perfis do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html) no *Guia do usuário do IAM*. Para saber sobre como anexar uma política do IAM à função, consulte [Adicionar e remover permissões de identidade do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) no *Guia do usuário do IAM*.

Depois de criar uma função de serviço do IAM para o OpenSearch serviço, você deve conceder ao usuário ou função que está acessando seu domínio do OpenSearch serviço `PassRole` permissões para o papel OpenSearch de serviço do serviço. Para obter mais informações, consulte [Configurando a segurança do domínio OpenSearch do Amazon Service](domain-user-managed.md).

**Topics**
+ [Exemplo de política de confiança](#opensearch-granting-access-managed-trust-policy)
+ [Exemplo de política de permissões](#opensearch-granting-access-managed-permissions-policy)

## Exemplo de política de confiança
<a name="opensearch-granting-access-managed-trust-policy"></a>

O exemplo de política de confiança a seguir concede `AssumeRole` permissões para o OpenSearch Serviço. 

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

****  

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

------

## Exemplo de política de permissões
<a name="opensearch-granting-access-managed-permissions-policy"></a>

O exemplo de política a seguir fornece ao perfil as permissões mínimas para obter uma classificação personalizada da sua campanha do Amazon Personalize. Para `Campaign ARN`, especifique o nome do recurso da Amazon (ARN) da sua campanha do Amazon Personalize. 

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

****  

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

------

# Configurar permissões quando os recursos estão em contas diferentes
<a name="configuring-multiple-accounts"></a>

Se seus recursos do OpenSearch Service e do Amazon Personalize estiverem em contas separadas, você cria uma função do IAM em cada conta e concede à função acesso aos recursos na conta. 

**Configurar permissões para várias contas**

1. Na conta da sua campanha do Amazon Personalize, crie um perfil do IAM que tenha permissão para receber uma classificação personalizada da sua campanha do Amazon Personalize. Ao configurar o plug-in, você especifica o ARN desse perfil no parâmetro `external_account_iam_role_arn` do processador de resposta `personalized_search_ranking`. Para obter mais informações, consulte [Criar um pipeline com o Amazon OpenSearch Service](managed-opensearch-plugin-pipeline-example.md). 

   Para ver um exemplo de política, consulte [Exemplo de política de permissões](service-role-managed.md#opensearch-granting-access-managed-permissions-policy).

1. Na conta em que seu domínio OpenSearch de serviço existe, crie uma função com uma política de confiança que conceda `AssumeRole` permissões OpenSearch de serviço. Ao configurar o plug-in, você especifica o ARN desse perfil no parâmetro `iam_role_arn` do processador de resposta `personalized_search_ranking`. Para obter mais informações, consulte [Criar um pipeline com o Amazon OpenSearch Service](managed-opensearch-plugin-pipeline-example.md). 

   Para ver um exemplo de política de confiança, consulte [Exemplo de política de confiança](service-role-managed.md#opensearch-granting-access-managed-trust-policy). 

1. Modifique cada perfil para conceder permissões de `AssumeRole` a outros perfis. Por exemplo, para a função que tem acesso aos seus recursos do Amazon Personalize, sua política de IAM concederia à função na conta com o domínio OpenSearch Service assumindo as permissões de função da seguinte forma: 

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

****  

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

------

1. Na conta em que seu domínio de OpenSearch serviço existe, conceda ao usuário ou função que está acessando seu domínio de OpenSearch serviço `PassRole` permissões para a função de OpenSearch serviço de serviço que você acabou de criar. Para obter mais informações, consulte [Configurando a segurança do domínio OpenSearch do Amazon Service](domain-user-managed.md).

# Configurando a segurança do domínio OpenSearch do Amazon Service
<a name="domain-user-managed"></a>

Para usar o plug-in com o OpenSearch Serviço, o usuário ou a função que está acessando seu domínio deve ter `PassRole` permissões para a [função de serviço do IAM para o OpenSearch Serviço](service-role-managed.md) que você acabou de criar. Além disso, o usuário ou perfil precisa de permissão para executar as ações `es:ESHttpGet` e `es:ESHttpPut`.

Para obter informações sobre como configurar o acesso ao OpenSearch Serviço, consulte [Segurança no Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/security.html) no *Amazon OpenSearch Service Developer Guide*. Para obter exemplos de políticas, consulte [Exemplos de políticas para usuário ou função do OpenSearch serviço](#opensearch-domain-user-policy-examples). 

## Exemplos de políticas para usuário ou função do OpenSearch serviço
<a name="opensearch-domain-user-policy-examples"></a>

O exemplo de política do IAM a seguir concede a um usuário ou função `PassRole` permissões para a função de serviço do IAM que você criou para o OpenSearch Service in[Configurar permissões quando recursos estão na mesma conta](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"
        }
    ]
}
```

------

A política do IAM a seguir concede as permissões mínimas para criar pipelines e consultas de pesquisa com OpenSearch o Service.

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

****  

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

------

# Instalar o plug-in Classificação de pesquisas do Amazon Personalize em um domínio do OpenSearch Service.
<a name="open-search-install-managed"></a>

Depois de concluir o fluxo de trabalho do Amazon Personalize e atender aos requisitos listados em [Requisitos do plug-in](plugin-requirements.md), você poderá instalar o plug-in no seu domínio.

 Para usar o plug-in, associe o plug-in `Amazon_Personalize_Search_Ranking_Plugin` ao seu domínio. O plug-in está pré-instalado, e você não precisa importá-lo do Amazon S3. Você associa o plug-in da mesma forma que associa um pacote do OpenSearch Service. Para saber como associar um pacote do OpenSearch Service, consulte [Pacotes personalizados do Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/custom-packages.html#custom-packages-assoc). 

Depois de associar o plug-in ao seu domínio, você conseguirá configurar o plug-in. Você o configura criando um pipeline de pesquisa e especificando um processador de resposta de `personalized_search_ranking`. Para obter mais informações, consulte [Criar um pipeline](managed-opensearch-plugin-pipeline-example.md).

## Informações adicionais sobre os domínios do Amazon OpenSearch Service
<a name="opensearch-service-additional-information"></a>

Os recursos a seguir fornecem mais informações sobre o uso do domínio do Amazon OpenSearch Service. 
+ Para um tutorial breve sobre como configurar um domínio de teste, consulte [Etapa 1: Criar um domínio do Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/gsg.html#gsgcreate-domain) na seção “Introdução” do *Guia do desenvolvedor do Amazon OpenSearch Service*.
+ Para obter etapas mais detalhadas da configuração dos domínio do OpenSearch Service, consulte [Criar e gerenciar domínios do Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html).
+ Para um tutorial breve sobre como fazer upload de uma pequena quantidade de dados de teste para o OpenSearch Service, consulte [Etapa 2: Fazer upload de dados para o Amazon OpenSearch Service para indexação](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/gsg.html#gsgupload-data) na seção “Introdução” do *Guia do desenvolvedor do Amazon OpenSearch Service*.
+ Para informações completas sobre a inserção de dados, consulte [Como indexar dados no Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/indexing.html) no *Guia do desenvolvedor do Amazon OpenSearch Service*.

# Criar um pipeline com o Amazon OpenSearch Service
<a name="managed-opensearch-plugin-pipeline-example"></a>

Depois de [instalar o plug-in Classificação de pesquisas do Amazon Personalize](open-search-install-managed.md), você poderá configurá-lo criando um pipeline de pesquisas do OpenSearch. 

Um *pipeline de pesquisa* é um conjunto de processadores de solicitação e resposta executados sequencialmente na ordem em que você os criou. Na hora de criar um pipeline para o plug-in, você especifica um processador de respostas de `personalized_search_ranking`. Acesse [Pipelines de pesquisa](https://opensearch.org/docs/latest/search-plugins/search-pipelines/index/) para saber mais sobre esses pipelines. 

Depois de criar um pipeline de busca com um processador de respostas de `personalized_search_ranking`, você pode a aplicar o plug-in às consultas do OpenSearch. Você pode usá-lo com um índice do OpenSearch ou uma consulta individual do OpenSearch. Para obter mais informações, consulte [Aplicar o plug-in](managed-apply-plugin.md). 

Você pode usar o código Python a seguir para criar um pipeline de pesquisa com um processador de respostas de `personalized_search_ranking` em um domínio do OpenSearch Service. Substitua `domain endpoint` pelo URL do endpoint do seu domínio. Por exemplo: `https://<domain name>.<AWS region>.es-staging.amazonaws.com`. Para obter uma explicação completa de cada parâmetro `personalized_search_ranking`, consulte [Campos para o processador de resposta de `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}")
```

# Como aplicar o plug-in às consultas do Amazon OpenSearch Service
<a name="managed-apply-plugin"></a>

Depois de [criar um pipeline](managed-opensearch-plugin-pipeline-example.md), você poderá aplicar o plug-in Classificação de pesquisas do Amazon Personalize nas consultas. Você pode aplicar o plug-in Classificação de pesquisas do Amazon Personalize a todas as consultas e respostas de um índice. Você também pode aplicar o plug-in a consultas e respostas individuais. 
+  Você pode usar o código Python a seguir para aplicar um pipeline de pesquisa a um índice. Desse modo, todas as pesquisas com esse índice usam o plug-in para personalizar os resultados das pesquisas.

  ```
  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}")
  ```
+ Você pode usar o código Python a seguir para aplicar um pipeline de pesquisa a uma pesquisa individual por carros da Toyota.

  Atualize o código para especificar seu endpoint de domínio, seu índice do OpenSearch Service, o nome do seu pipeline e sua consulta. Para o `user_id`, especifique o ID do usuário para o qual você está obtendo resultados de pesquisa. Esse usuário deve estar nos dados que você usou para criar sua versão da solução do Amazon Personalize. Se o usuário não estiver presente, o Amazon Personalize classifica os itens com base na popularidade deles.

  Para o `context`, se você usar metadados contextuais, forneça os metadados contextuais do usuário, como o tipo de dispositivo. O campo `context` é opcional. Para obter mais informações, consulte [Como aumentar a relevância das recomendações com metadados contextuais](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}")
  ```

# Comparar os resultados personalizados do Amazon OpenSearch Service com os resultados sem personalização
<a name="managed-comparing-results"></a>

O plug-in Classificação de pesquisas do Amazon Personalize reclassifica os resultados da pesquisa com base nas classificações do Amazon Personalize e do OpenSearch. O plug-in vai reclassificar os resultados conforme você configurar o processador de respostas de `personalized_search_ranking` nos pipelines. 

Para entender a reclassificação, rode consultas com e sem personalização e compare os resultados. Você pode usar o código Python a seguir para executar as duas consultas diferentes e exportar os resultados para dois arquivos JSON. No primeiro método, a consulta usa o plug-in para reclassificar os resultados. A segunda roda um método que gera resultados sem personalização.

```
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)
```

# Como monitorar o plugin com o Amazon OpenSearch Service
<a name="managed-monitor"></a>

Quando usa o plug-in Classificação das pesquisas do Amazon Personalize com as consultas do OpenSearch, você consegue monitorar o plug-in obtendo métricas para seu pipeline de pesquisa. As métricas do pipeline incluem estatísticas como o número de solicitações que não deram certo para o processador de respostas de `personalized_search_ranking`. 

 No OpenSearch Service, é possível monitorar o plug-in usando as métricas no Amazon CloudWatch. Para mais informações, consulte [Como monitorar os domínios do Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/monitoring.html). 

É possível usar o código do Python a seguir para obter métricas de todos os pipelines. Para um exemplo de métricas de pipeline, consulte [Exemplo de métricas do pipeline](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}")
```