

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á.

# Personalizar os resultados do OpenSearch de código aberto com o Amazon Personalize
<a name="opensearch-open-source"></a>

Para personalizar os resultados de código aberto OpenSearch, 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 2 ou de classificação 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 OpenSearch cluster. Para obter mais informações, consulte [Configurar permissões](opensearch-granting-access.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 do Amazon Personalize. 
   + Se você já tiver um OpenSearch cluster em execução, poderá instalar o plug-in manualmente. Para obter mais informações, consulte [Como instalar manualmente o plug-in em um cluster do OpenSearch existente](opensearch-manual-install.md).
   + Se você não criou um OpenSearch cluster, pode usar um script bash de início rápido para criar um. Para obter mais informações, consulte [Criar um novo cluster e instalar o plug-in com um script](opensearch-install-with-script.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](opensearch-plugin-pipeline-example.md). 

1.  **Aplique o plug-in Amazon Personalize Search Ranking às OpenSearch consultas — Você pode aplicar o plug-in** Amazon Personalize Search Ranking a todas as consultas e respostas de um índice. OpenSearch Você também pode aplicar o plug-in a OpenSearch consultas e respostas individuais. Para obter informações sobre como aplicar o plug-in a consultas em código aberto OpenSearch, consulte[Aplicar o plug-in](opensource-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 como comparar resultados com código aberto OpenSearch, consulte[comparar os resultados](opensource-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 em um OpenSearch cluster de código aberto, consulte[Como monitorar o plug-in com o OpenSearch de código aberto](opensource-monitor.md). Para obter um trecho das métricas do pipeline retornadas OpenSearch, consulte. [Exemplo de métricas do pipeline](monitor-response.md)

**Topics**
+ [Configurando OpenSearch permissões de código aberto](opensearch-granting-access.md)
+ [Instalar manualmente o plug-in do Amazon Personalize em um cluster do OpenSearch existente](opensearch-manual-install.md)
+ [Criar um novo cluster e instalar o plug-in com um script](opensearch-install-with-script.md)
+ [Criar um pipeline no OpenSearch de código aberto](opensearch-plugin-pipeline-example.md)
+ [Aplicar o plug-in Classificação de pesquisas do Amazon Personalize no OpenSearch de código aberto](opensource-apply-plugin.md)
+ [Comparar os resultados personalizados do OpenSearch com os resultados sem personalização](opensource-comparing-results.md)
+ [Como monitorar o plug-in com o OpenSearch de código aberto](opensource-monitor.md)

# Configurando OpenSearch permissões de código aberto
<a name="opensearch-granting-access"></a>

Se você usa código aberto OpenSearch, você deve ser capaz de acessar seus recursos do Amazon Personalize a partir do seu cluster de pesquisa aberto. Para conceder acesso, faça o seguinte:
+ Se você estiver configurando OpenSearch do zero, poderá usar um [script bash de início rápido](https://github.com/opensearch-project/search-processor/blob/main/helpers/personalized_search_ranking_quickstart.sh) para executar um OpenSearch cluster em um contêiner do Docker. O script usa as credenciais padrão em seu AWS perfil. Você pode especificar um perfil alternativo quando for rodar o script. 

  Essas credenciais devem estar associadas a um usuário ou função que tenha permissão para realizar a GetPersonalizedRanking ação da sua campanha Amazon Personalize. Para ver um exemplo de uma política do IAM, consulte [Exemplos de política do IAM](#opensearch-role-policy-example). Como alternativa, as credenciais precisam ter permissão para assumir um perfil que tenha essas permissões. Você pode fornecer o nome do recurso da Amazon (ARN) para essa função na hora de criar um pipeline para o plug-in Classificação de pesquisas do Amazon Personalize. 
+ Se você não usar o [script bash de início rápido](https://github.com/opensearch-project/search-processor/blob/main/helpers/personalized_search_ranking_quickstart.sh), poderá adicionar manualmente suas credenciais ao seu OpenSearch repositório de chaves. Essas credenciais devem corresponder a um usuário ou função que tenha permissão para realizar a GetPersonalizedRanking ação da sua campanha Amazon Personalize. 

  Para adicionar manualmente suas AWS credenciais ao seu OpenSearch armazenamento de chaves, execute o comando a seguir onde seu OpenSearch cluster está sendo executado (como um contêiner do Docker). Em seguida, informe cada credencial. Se não usar um token de sessão, você pode omitir a linha final no comando. 

  ```
  opensearch-keystore add \
  personalized_search_ranking.aws.access_key \
  personalized_search_ranking.aws.secret_key \
  personalized_search_ranking.aws.session_token
  ```
+ Se você executar seu OpenSearch cluster em uma instância do Amazon EC2, poderá conceder permissões com um perfil de instância do IAM. A política anexada à função deve conceder a ela permissão para realizar a GetPersonalizedRanking ação em sua campanha Amazon Personalize. além de permissões para o Amazon EC2 assumir o perfil. 

  Para mais informações sobre os perfis de instância do Amazon EC2, consulte [Como usar perfis de instância](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html). Para ver um exemplo de política, consulte [Exemplos de política do IAM](#opensearch-role-policy-example).

## Exemplos de política do IAM
<a name="opensearch-role-policy-example"></a>

O exemplo de política a seguir fornece a um usuário ou 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"
        }
    ]
}
```

------

Além disso, se você executar seu OpenSearch cluster em uma instância do Amazon EC2 e conceder permissões com um perfil de instância do IAM, a política de confiança para a função deve conceder permissões ao Amazon `AssumeRole` EC2 da seguinte forma. Para mais informações sobre os perfis de instância do Amazon EC2, consulte [Como usar perfis de instância](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html). 

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

****  

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

------

# Instalar manualmente o plug-in do Amazon Personalize em um cluster do OpenSearch existente
<a name="opensearch-manual-install"></a>

Se você já tiver um cluster do OpenSearch, instale manualmente o plug-in no seu cluster diretamente do repositório do OpenSearch no GitHub.

**Instalar o plug-in manualmente**

1.  Use o comando a seguir para iniciar o cluster do OpenSearch: 

   ```
   bin/opensearch
   ```

1. Caso ainda não tenha feito isso, faça upload dos dados do catálogo para o cluster do OpenSearch. Quando faz upload dos seus dados, você cria um índice do OpenSearch e define seus mapeamentos de campo. Depois, você faz o upload dos dados para esse índice. Para ver um exemplo, consulte [Criar um índice e mapeamentos de campo usando dados de amostra](https://opensearch.org/docs/latest/quickstart/#create-an-index-and-field-mappings-using-sample-data). 

1. Use o comando a seguir para instalar o plug-in:

   ```
   bin/opensearch-plugin install https://github.com/opensearch-project/search-processor/releases/download/2.9.0/opensearch-search-processor-2.9.0.0.zip
   ```

   Para saber mais sobre como instalar plug-ins, consulte [Instalar plug-ins](https://opensearch.org/docs/latest/install-and-configure/plugins/).

 Depois de instalar o plug-in Classificação de pesquisas do Amazon Personalize, será hora de configurá-lo. Para isso, é preciso criar um pipeline de pesquisa e especificar um processador de resposta de `personalized_search_ranking`. Para obter mais informações, consulte [Criar um pipeline](opensearch-plugin-pipeline-example.md).

# Criar um novo cluster e instalar o plug-in com um script
<a name="opensearch-install-with-script"></a>

Se você ainda não criou um cluster do OpenSearch, você pode usar um script em bash de início rápido para criar um. Esse script configura um cluster do OpenSearch em um contêiner do Docker, configura as credenciais usando seu perfil padrão da AWS e instala o plug-in Classificação de pesquisas do Amazon Personalize.

 Para informações sobre como criar manualmente um cluster do OpenSearch, consulte as instruções de [início rápido](https://opensearch.org/docs/quickstart) na documentação do OpenSearch. 

**Instalar o plug-in com um script em bash de início rápido**

1.  Antes de executar o script, baixe e instale o [Docker Desktop](https://docs.docker.com/get-docker/) na versão para seu sistema operacional.

1. Baixe o [script em bash de início rápido](https://github.com/opensearch-project/search-processor/blob/main/helpers/personalized_search_ranking_quickstart.sh) do GitHub.

1. No diretório de trabalho, execute o script com o comando abaixo.

   ```
   sh personalized_search_ranking_quickstart.sh
   ```

   Com este comando, o script vai usar as credenciais no seu perfil padrão da AWS. Para fornecer um perfil alternativo, use o argumento `--profile`.

   ```
   sh personalized_search_ranking_quickstart.sh --profile profile-name
   ```

   Depois de rodar o script, você consegue encontrar mais informações sobre o script no arquivo README, que está no diretório exclusivo criado pelo script. Esse diretório armazena os arquivos Dockerfile e .yml compostos por docker que o script usa. Por exemplo: `../opensearch-personalize-intelligent-ranking-docker.1234/README`.

1. Faça upload dos dados do catálogo para o cluster do OpenSearch. Quando faz upload dos seus dados, você cria um índice do OpenSearch e define seus mapeamentos de campo. Depois, você faz o upload dos dados para esse índice. Para ver um exemplo, consulte [Criar um índice e mapeamentos de campo usando dados de amostra](https://opensearch.org/docs/latest/quickstart/#create-an-index-and-field-mappings-using-sample-data). 

 Depois de configurar o OpenSearch e instalar o plug-in Classificação de pesquisas do Amazon Personalize, será hora de configurá-lo. Para isso, é preciso criar um pipeline de pesquisa e especificar um processador de resposta de `personalized_search_ranking`. Para obter mais informações, consulte [Criar um pipeline](opensearch-plugin-pipeline-example.md). 

# Criar um pipeline no OpenSearch de código aberto
<a name="opensearch-plugin-pipeline-example"></a>

Depois de instalar o plug-in no seu cluster, 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ê poderá começar a aplicar o plug-in às consultas. Para obter mais informações, consulte [Aplicar o plug-in](opensource-apply-plugin.md). 

Você pode usar o comando curl a seguir para criar um pipeline de pesquisa com um processador de respostas de `personalized_search_ranking` em um cluster do OpenSearch de código aberto. 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).

```
curl -X PUT "http://localhost:9200/_search/pipeline/pipeline-name" -ku 'admin:admin' --insecure -H 'Content-Type: application/json' -d'
{
  "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
      }
    }
  ]
}'
```

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 Classificação de pesquisas do Amazon Personalize no OpenSearch de código aberto](opensource-apply-plugin.md). 

# Aplicar o plug-in Classificação de pesquisas do Amazon Personalize no OpenSearch de código aberto
<a name="opensource-apply-plugin"></a>

Você pode aplicar o plug-in Classificação de pesquisas do Amazon Personalize a todas as consultas e respostas de um índice do OpenSearch. Você também pode usá-lo com consultas e respostas individuais do OpenSearch. 
+  O comando curl a seguir aplica um pipeline de pesquisa a um índice do OpenSearch em um cluster do OpenSearch de código aberto executado localmente. Desse modo, todas as pesquisas com esse índice usam o plug-in para personalizar os resultados das pesquisas.

  ```
  curl -XGET "https://localhost:9200/index/_settings" -ku 'admin:admin' --insecure -H 'Content-Type: application/json' -d'
  {
    "index.search.default_pipeline": "pipeline-name"
  }
  '
  ```
+ O comando curl a seguir aplica um pipeline de pesquisa a uma pesquisa individual por carros da Toyota em um índice de um cluster do OpenSearch de código aberto executado localmente.

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

  ```
  curl -XGET "http://localhost:9200/index/_search?search_pipeline=pipeline-name" -ku 'admin:admin' --insecure -H 'Content-Type: application/json' -d'
  {
    "query": {
      "multi_match": {
        "query": "Toyota",
        "fields": ["BRAND"]
      }
    },
    "ext": {
      "personalize_request_parameters": {
        "user_id": "USER ID",
        "context": { "DEVICE": "mobile phone" }
      }
    }
  }
  '
  ```

 Para entender como os resultados são reclassificados, use os painéis do OpenSearch para comparar os resultados do OpenSearch com os resultados reclassificados com o plug-in. Para obter mais informações, consulte [Comparar os resultados personalizados do OpenSearch com os resultados sem personalização](opensource-comparing-results.md). 

 Quando usa o plug-in com as consultas do OpenSearch, você o monitora obtendo métricas para seu pipeline do OpenSearch. Para obter mais informações, consulte [Como monitorar o plug-in com o OpenSearch de código aberto](opensource-monitor.md). 

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

Para entender como os resultados são reclassificados, execute consultas com o [console do Dev Tools](https://opensearch.org/docs/latest/dashboards/dev-tools/run-queries) em duas janelas separadas do navegador. Depois, compare os resultados com e sem personalização. 

**Comparar os resultados com o console do Dev Tools**

1. Confira se o OpenSearch Dashboards está instalado. O script em bash de início rápido instala o OpenSearch Dashboards. Se você não usa o script ou já tem um cluster que esteja rodando, instale o OpenSearch Dashboards. Para mais informações, consulte [Como instalar o OpenSearch Dashboards](https://opensearch.org/docs/latest/install-and-configure/install-dashboards/index/).

1. Abra o OpenSearch Dashboards. Abra `http://localhost:5601` em um navegador e faça login no OpenSearch Dashboards. As credenciais padrão são o nome de usuário e senha 'admin'.

1. Na página inicial do OpenSearch Dashboards, escolha **Dev Tools** no menu Gerenciamento.

1. Abra uma janela separada no navegador e acesse o console do Dev Tools de novo. Use o URL da outra janela.

1. Em uma janela, faça uma consulta sem usar nenhuma reclassificação para personalização. Na outra janela, insira um comando curl que usa um pipeline com o processador de respostas de `personalized_search_ranking`. Se você colar um comando curl diretamente no console, o comando será convertido no formato usado pelo console. Acesse para ver um exemplo de comando [Aplicar o plug-in Classificação de pesquisas do Amazon Personalize no OpenSearch de código aberto](opensource-apply-plugin.md).

1. Execute as duas consultas e compare os resultados.

# Como monitorar o plug-in com o OpenSearch de código aberto
<a name="opensource-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`. 

 É possível usar o código a seguir para obter métricas de todos os pipelines. A resposta contém estatísticas para todos os pipelines de pesquisa. Para um exemplo de métricas de pipeline, consulte [Exemplo de métricas do pipeline](monitor-response.md).

```
curl -XGET "https://localhost:9200/_nodes/stats/search_pipeline?pretty" -ku 'admin:admin'
```