

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

# Criando uma experiência de pesquisa sem código
<a name="deploying-search-experience-no-code"></a>

Você pode criar e implantar um aplicativo de Amazon Kendra pesquisa sem a necessidade de nenhum código de front-end. Amazon Kendra O *Experience Builder* ajuda você a criar e implantar um aplicativo de pesquisa totalmente funcional em alguns cliques para começar a pesquisar imediatamente. Você pode personalizar sua página de pesquisa e ajustar sua pesquisa para adaptar a experiência às necessidades de seus usuários. Amazon Kendra gera um URL de endpoint exclusivo e totalmente hospedado de sua página de pesquisa para começar a pesquisar seus documentos e. FAQs Você pode criar rapidamente uma prova de conceito da experiência de pesquisa e compartilhá-la com outras pessoas.

Use o modelo de experiência de pesquisa disponível no construtor para personalizar sua pesquisa. Você pode convidar outras pessoas para colaborar na criação de sua experiência de pesquisa ou avaliar os resultados da pesquisa para fins de ajuste. Quando a experiência de pesquisa estiver pronta para que os usuários comecem a pesquisar, é só compartilhar o URL seguro do endpoint.

## Como a pesquisa do Experience Builder funciona
<a name="how-search-experience-builder-works"></a>

O processo geral de criação de uma experiência de pesquisa é o seguinte:

1. Crie a experiência de pesquisa dando a ela um nome, uma descrição e escolhendo as fontes de dados que deseja usar para a experiência de pesquisa.

1. Você configura sua lista de usuários e grupos e, em Centro de Identidade do AWS IAM seguida, atribui a eles direitos de acesso à sua experiência de pesquisa. Você se inclui como proprietário da experiência. Para obter mais informações, consulte [Fornecer acesso à sua página de pesquisa](#access-search-experience).

1. Você abre o Amazon Kendra Experience Builder para criar e ajustar sua página de pesquisa. Compartilhe o URL do endpoint da sua experiência de pesquisa com outras pessoas a quem você atribui direitos de acesso de edição própria ou direitos de acesso de visualização e pesquisa.

Você chama a [CreateExperience](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateExperience.html)API para criar e configurar sua experiência de pesquisa. Ao usar o console, selecione o índice e, em seguida, selecione **Experiências** no menu de navegação para configurar a experiência.

## Projete e ajuste a experiência de pesquisa
<a name="design-tune-search-experience"></a>

Depois de criar e configurar a experiência de pesquisa, abra a experiência de pesquisa usando uma URL de endpoint para começar a personalizar a pesquisa como proprietário com direitos de acesso de editor. Digitalize a consulta na caixa de pesquisa e personaliza a pesquisa usando as opções de edição no painel lateral para ver como elas se aplicam à sua página. Quando estiver pronto para publicar, selecione **Publicar**. Você também pode alternar entre **Alternar para visualização ao vivo**, para ver a versão mais recente publicada da página de pesquisa, e **Alternar para o modo de criação**, para editar ou personalizar a página de pesquisa.

Veja a seguir formas de personalizar a experiência de pesquisa.

### Filtro
<a name="search-experience-filter"></a>

Adicione pesquisa facetada ou filtre por atributos do documento. Isso inclui atributos personalizados. Você pode adicionar um filtro usando seus campos de metadados configurados. Por exemplo, para pesquisar por facetas por cada categoria de cidade, use um atributo de documento `_category` personalizado que contenha todas as categorias de cidade.

### Resposta sugerida
<a name="search-experience-suggested-answer"></a>

Adicione respostas geradas por machine learning às consultas dos usuários. Por exemplo, *“Quão difícil é esse curso?”* . Amazon Kendra pode recuperar o texto mais relevante em todos os documentos referentes à dificuldade de um curso e sugerir a resposta mais relevante.

### Perguntas frequentes
<a name="search-experience-faq"></a>

Adicione um documento de perguntas frequentes para fornecer respostas às perguntas mais frequentes. Por exemplo, *“Quantas horas faltam para concluir este curso?”* . Amazon Kendra pode usar o documento de perguntas frequentes que contém a resposta a essa pergunta e dar a resposta correta.

### Classificar
<a name="search-experience-sort"></a>

Adicione a classificação dos resultados da pesquisa para que os usuários possam organizar os resultados por relevância, hora de criação, hora da última atualização e outros critérios de classificação.

### Documentos
<a name="search-experience-documents"></a>

Configure como os documentos ou os resultados da pesquisa são exibidos na página de pesquisa. Você pode configurar quantos resultados são exibidos na página, incluir paginação, como números de página, ativar um botão de feedback do usuário e organizar como os campos de metadados do documento são exibidos em um resultado de pesquisa.

### Idioma
<a name="search-experience-language"></a>

Selecione um idioma para filtrar os resultados da pesquisa ou documentos no idioma selecionado.

### Barra de pesquisa
<a name="search-experience-search-box"></a>

Configure o tamanho e o espaço reservado para o texto da caixa de pesquisa, além de permitir sugestões de consulta.

### Ajuste de relevância
<a name="search-experience-relevance-tuning"></a>

Adicione impulsionamento aos campos de metadados do documento para dar mais peso a esses campos quando os usuários pesquisarem documentos. Você pode adicionar um peso que começa em 1 e aumenta gradualmente para 10. Você pode aumentar os tipos de campo de texto, data e numérico. Por exemplo, para dar a `_last_updated_at` e `_created_at` mais peso ou importância do que outros campos, atribua a esses campos um peso de 1 a 10, dependendo de sua importância. Você pode aplicar diferentes configurações de ajuste de relevância para cada aplicativo ou experiência de pesquisa.

## Fornecer acesso à sua página de pesquisa
<a name="access-search-experience"></a>

O acesso à sua experiência de pesquisa é feito pelo IAM Identity Center. Ao configurar sua experiência de pesquisa, você concede a outras pessoas listadas no seu diretório do Identity Center acesso à sua página de Amazon Kendra pesquisa. Eles recebem um e-mail que os orienta a fazer login usando as credenciais no IAM Identity Center para acessar a página de pesquisa. Você deve configurar o IAM Identity Center no nível da organização ou no nível do titular da conta no AWS Organizations. Para obter mais informações sobre o IAM Identity Center, consulte [Introdução ao IAM Identity Center](https://docs.aws.amazon.com/kendra/latest/dg/getting-started-aws-sso.html).

Você ativa as identidades do usuário no IAM Identity Center com a experiência de pesquisa e atribui permissões de acesso de *Visualizador* ou *Proprietário* usando a API ou o console.
+ **Visualizador**: autorizado a fazer consultas, receber sugestões de respostas relevantes para a pesquisa e contribuir com comentários sobre o Amazon Kendra para continuar melhorando a pesquisa.
+ **Proprietário**: autorizado a personalizar o design da página de pesquisa, ajustar a pesquisa e usar o aplicativo de pesquisa como *Visualizador*. Atualmente, não há suporte para desabilitar o acesso aos visualizadores no console.

Para atribuir acesso a outras pessoas à sua experiência de pesquisa, primeiro ative as identidades de usuário no IAM Identity Center com sua Amazon Kendra experiência usando o [ExperienceConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_ExperienceConfiguration.html)objeto. Você especifica o nome do campo que contém os identificadores de usuários, como nome de usuário ou endereço de e-mail. Em seguida, você concede à sua lista de usuários acesso à sua experiência de pesquisa usando a [AssociateEntitiesToExperience](https://docs.aws.amazon.com/kendra/latest/APIReference/API_AssociateEntitiesToExperience.html)API e define suas permissões como *Visualizador* ou *Proprietário* usando a [AssociatePersonasToEntities](https://docs.aws.amazon.com/kendra/latest/APIReference/API_AssociatePersonasToEntities.html)API. Você especifica cada usuário ou grupo usando o [EntityConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_EntityConfiguration.html)objeto e se esse usuário ou grupo é um *Visualizador* ou *Proprietário* usando o [EntityPersonaConfiguraton](https://docs.aws.amazon.com/kendra/latest/APIReference/API_EntityPersonaConfiguration.html)objeto.

Para atribuir a outras pessoas acesso à sua experiência de pesquisa usando o console, primeiro você precisa criar uma experiência e confirmar sua identidade e se você é o proprietário. Depois, você pode atribuir outros usuários ou grupos como visualizadores ou proprietários. No console, selecione seu índice e, em seguida, selecione **Experiências** no menu de navegação. Depois de criar sua experiência, você pode selecioná-la na lista. Acesse o **Gerenciamento de acesso** para atribuir usuários ou grupos como visualizadores ou proprietários.

## Configurando uma experiência de pesquisa
<a name="config-search-experience"></a>

Veja a seguir um exemplo de como configurar ou criar uma experiência de pesquisa.

------
#### [ Console ]

**Para criar uma experiência Amazon Kendra de pesquisa**

1. No painel de navegação esquerdo, em **Índices**, selecione **Experiências** e, em seguida, selecione **Criar experiência**.

1. Na página **Configurar experiência**, insira um nome e uma descrição para a experiência, escolha as fontes de conteúdo e o perfil do IAM para sua experiência. Para obter mais informações sobre as funções do IAM, consulte [Funções do IAM para Amazon Kendra experiências](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html).

1. Na página **Confirme sua identidade em um diretório do Identity Center**, selecione o ID de usuário, como seu e-mail. Se você não tiver um diretório do Identity Center, digite seu nome completo e e-mail para criar um diretório do Identity Center. Isso inclui você como usuário da experiência e atribui automaticamente a você direitos de acesso de proprietário.

1. Na página **Revisar para abrir o Experience Builder**, revise os detalhes da configuração e selecione **Criar experiência e abra o Experience Builder** para editar a página de pesquisa.

------
#### [ CLI ]

**Para criar uma experiência do Amazon Kendra **

```
aws kendra create-experience \
 --name {{experience-name}} \
 --description {{"experience description"}} \
 --index-id {{index-id}} \
 --role-arn {{arn:aws:iam::account-id:role/role-name}} \
 --configuration '{"ExperienceConfiguration":[{"ContentSourceConfiguration":{"DataSourceIds":["data-source-1","data-source-2"]}, "UserIdentityConfiguration":"identity attribute name"}]}' 

aws kendra describe-experience \
 --endpoints {{experience-endpoint-URL(s)}}
```

------
#### [ Python ]

**Para criar uma experiência do Amazon Kendra **

```
import boto3
from botocore.exceptions import ClientError
import pprint
import time

kendra = boto3.client("kendra")

print("Create an experience.")

# Provide a name for the experience
name = "experience-name"
# Provide an optional description for the experience
description = "experience description"
# Provide the index ID for the experience
index_id = "index-id"
# Provide the IAM role ARN required for Amazon Kendra experiences
role_arn = "arn:aws:iam::${account-id}:role/${role-name}"
# Configure the experience
configuration = {"ExperienceConfiguration":
        [{
            "ContentSourceConfiguration":{"DataSourceIds":["data-source-1","data-source-2"]},
            "UserIdentityConfiguration":"identity attribute name"
        }]
    }

try:
    experience_response = kendra.create_experience(
        Name = name,
        Description = description,
        IndexId = index_id,
        RoleArn = role_arn,
        Configuration = configuration
    )

    pprint.pprint(experience_response)

    experience_endpoints = experience_response["Endpoints"]

    print("Wait for Amazon Kendra to create the experience.")

    while True:
        # Get the details of the experience, such as the status
        experience_description = kendra.describe_experience(
            Endpoints = experience_endpoints
        )
        status = experience_description["Status"]
        print(" Creating experience. Status: "+status)
        time.sleep(60)
        if status != "CREATING":
            break

except  ClientError as e:
        print("%s" % e)

print("Program ends.")
```

------
#### [ Java ]

**Para criar um Amazon Kendra**

```
package com.amazonaws.kendra;

import java.util.concurrent.TimeUnit;
import software.amazon.awssdk.services.kendra.KendraClient;
import software.amazon.awssdk.services.kendra.model.CreateExperienceRequest;
import software.amazon.awssdk.services.kendra.model.CreateExperienceResponse;
import software.amazon.awssdk.services.kendra.model.DescribeExperienceRequest;
import software.amazon.awssdk.services.kendra.model.DescribeExperienceResponse;
import software.amazon.awssdk.services.kendra.model.ExperienceStatus;


public class CreateExperienceExample {

    public static void main(String[] args) throws InterruptedException {
        System.out.println("Create an experience");
        
        String experienceName = "experience-name";
        String experienceDescription = "experience description";
        String indexId = "index-id";
        String experienceRoleArn = "arn:aws:iam::account-id:role/role-name";

        KendraClient kendra = KendraClient.builder().build();
        
        CreateExperienceRequest createExperienceRequest = CreateExperienceRequest 
            .builder()
            .name(experienceName)
            .description(experienceDescription)
            .roleArn(experienceRoleArn)
            .configuration(
                ExperienceConfiguration
                    .builder()
                    .contentSourceConfiguration(
                        ContentSourceConfiguration(
                            .builder()
                            .dataSourceIds("data-source-1","data-source-2")
                            .build()
                        )
                    )
                    .userIdentityConfiguration(
                        UserIdentityConfiguration(
                            .builder()
                            .identityAttributeName("identity-attribute-name")
                            .build()
                        )
                    ).build()
            ).build();
        
        CreateExperienceResponse createExperienceResponse = kendra.createExperience(createExperienceRequest);
        System.out.println(String.format("Experience response %s", createExperienceResponse));

        String experienceEndpoints = createExperienceResponse.endpoints();

        System.out.println(String.format("Wait for Kendra to create the experience.", experienceEndpoints));
        while (true) {
            DescribeExperienceRequest describeExperienceRequest = DescribeExperienceRequest.builder().endpoints(experienceEndpoints).build();
            DescribeExperienceResponse describeEpxerienceResponse = kendra.describeExperience(describeExperienceRequest);
            ExperienceStatus status = describeExperienceResponse.status();
            TimeUnit.SECONDS.sleep(60);
            if (status != ExperienceStatus.CREATING) {
                break;
            }
        }

        System.out.println("Experience creation is complete.");
    }
}
```

------