Configurar as definições de campo

Nesta página, mostramos como configurar os campos de esquema para configurar um app para dados estruturados, dados não estruturados com metadados ou dados de sites com atributos personalizados e estruturados.

As configurações de campo ajudam a determinar como a Pesquisa do agente usa campos nos resultados. Use a guia Esquema no consoleGoogle Cloud para configurar as opções de campo.

A configuração de campos está disponível apenas para apps com repositórios de dados que contêm dados estruturados ou não estruturados com metadados.

Configurações do campo

As configurações de campo a seguir estão disponíveis para muitos tipos de campo nos dados de pesquisa ou de recomendações, mas não para todos os tipos de dados. Um esquema contém várias configurações de campo para campos individuais, e a próxima tabela contém configurações que podem ser aplicadas a um campo em um esquema. Recomendamos usar dados estruturados para estas configurações de campo:

Configuração Definição Finalidade Exemplo de caso de uso
Indexável

Definir campos como indexáveis permite operações como filtragem, reforço e atributos em campos estruturados dentro de um documento.

Não é possível definir campos do tipo Object como Indexable.

Marcar um campo como Indexable permite pesquisas mais rápidas.

Observe que marcar um campo como Indexable aumenta o tamanho do índice de pesquisa e pode diminuir a velocidade da indexação.

Em um repositório de dados de hotel, é possível definir um campo, como hotel_chain, como indexável. Isso permite aplicar operações de classificação, filtragem e reforço em hotel_chain. Por exemplo, você pode aplicar um filtro para que a pesquisa mostre apenas resultados que contenham a rede de hotéis filtrada.
Pesquisável

Os campos com maior probabilidade de serem relacionados a pesquisas são designados como Searchable. Um campo pode ser pesquisável sem ser indexável ou recuperável.

Somente campos com valores de texto podem ser marcados como pesquisáveis. Assim, um campo de preço numérico pode ser indexável (para filtragem ou refinamento), mas não pode ser pesquisado como texto completo.

Definir um campo como Pesquisável melhora a capacidade de recall desse campo em consultas de pesquisa, permitindo que os usuários encontrem conteúdo, como páginas da Web, consultando o texto nesses campos. Marcar um campo como pesquisável permite que a classificação seja aplicada. Consequentemente, marcar um número excessivo de campos como pesquisáveis pode afetar negativamente a precisão da pesquisa ao saturar demais o algoritmo de classificação e retornar muitos resultados. Isso pode levar a resultados de pesquisa irrelevantes.

É possível aplicar uma ponderação relativa aos campos pesquisáveis, mas, devido aos padrões robustos, isso raramente é necessário. Consulte Ponderar campos pesquisáveis abaixo.

O sistema de tíquetes de suporte de um provedor de serviços de Internet armazena cada tíquete como um documento estruturado. Se esses documentos tiverem campos de texto pesquisáveis, como issue_description ou resolution_notes, um representante de suporte poderá fazer uma consulta relacionada ao conteúdo desses campos, como como corrigir a lentidão da Internet após a redefinição do modem. O sistema mostraria os documentos que contêm qualquer um desses termos de pesquisa, incluindo modem, internet, velocidade, em um ou ambos os campos issue_description ou resolution_notes.

Tabela dinâmica Oferece filtros contextuais para segmentar melhor as pesquisas dos usuários. Definir um campo como Dynamic Facetable permite que o sistema gere automaticamente filtros interativos (facetas) com base nos valores exclusivos presentes no campo. Definir um campo como Dynamic facetable permite que os usuários refinem dinamicamente os resultados da pesquisa selecionando categorias ou atributos derivados diretamente dos dados ingeridos, sem precisar pré-definir manualmente todas as opções de filtro possíveis. Isso permite que o usuário restrinja a pesquisa a conteúdo da Web altamente específico.
Use Dynamic Facetable com Searchable para conseguir resultados melhores, o que melhora o recall da pesquisa e a qualidade das facetas oferecidas ao usuário.
As páginas de uma base de conhecimento corporativa interna, como políticas de RH, são ingeridas com dados como department, document_type ou last_modified_date. Se esses campos forem marcados como dynamic facetable, uma pesquisa de funcionários por um termo como reembolso de despesas vai gerar filtros interativos de forma dinâmica com base nos resultados relevantes encontrados. Nesse caso, a interface da Web pode mostrar facetas para Departamento: Finanças, Viagens, Tipo de documento: Política, Perguntas frequentes ou Data da última modificação: Este trimestre, Ano passado.
Recuperável Quando uma consulta de pesquisa encontra conteúdo correspondente, o mecanismo de pesquisa pode extrair os valores dos campos recuperáveis para exibir ou usar no aplicativo. Isso significa que as informações do documento original são mostradas como parte dos resultados da pesquisa. Os campos de chave (identificadores exclusivos de documentos) são configurados como recuperáveis. Os campos recuperáveis fornecem contexto de pesquisa ao distinguir campos cujos valores podem ser mostrados daqueles que só devem ser usados na lógica de pesquisa, mas cujos valores brutos não devem ser mostrados ao usuário final. Para uma pesquisa de produtos no site de um comerciante, product_id, name, price e um image_url são campos típicos que você quer definir como recuperáveis. Por outro lado, o internal_tracking_code pode ser indexado e filtrado apenas para fins administrativos, mas não recuperado em resultados de pesquisa públicos.
Concluível Permite que o conteúdo de um campo seja usado para sugestões de consulta de pesquisa. Para mais informações, consulte Configurar o preenchimento automático.

Essa configuração permite que os valores desse campo sejam usados para fornecer sugestões de consultas em tempo real à medida que os usuários digitam. Esse recurso ajuda a direcionar os usuários para conteúdo relevante e acelera o processo de pesquisa. Alguns fatores, como o uso da filtragem por linguagem natural, podem afetar esse desempenho.

Se o campo completable estiver definido como product_name, brand e category, quando o usuário digitar Tecnologia, as sugestões de preenchimento automático poderão mostrar:
  • TechCo (do campo brand)
  • TechCo UltraBook X1 (do campo product_name)
  • Tecnologia GameMaster Pro (outro produto do campo category)
Filtrável Permite que as recomendações usem um campo para filtrar os resultados recomendados, determinando quais resultados da pesquisa seus usuários veem. Para informações sobre como filtrar recomendações, consulte Filtrar recomendações. Definir um campo como Filterable ajuda a personalizar as recomendações para os usuários. Observe que os limites de filtragem são aplicáveis. Uma configuração de filtro por idioma e drama pode ter esta aparência: language_code: ANY("en", "fr") OR categories: ANY("drama").

Diferenças entre as configurações usadas com frequência

Há diferenças importantes entre as configurações de campo indexável, pesquisável e recuperável. A tabela resume essas diferenças.

Recurso Indexável Pesquisável Recuperável
Função principal Disponibiliza o conteúdo do campo para o mecanismo de pesquisa Permite consultas de texto completo no conteúdo do campo Permite que o valor do campo seja retornado nos resultados da pesquisa.
Análise O conteúdo é processado e colocado em um índice. Geralmente passa por uma análise lexical extensa. O valor é armazenado como está para exibição.
Será que...
...Pesquisável? Sim (geralmente um pré-requisito) N/A Não necessariamente (pode ser recuperado sem ser pesquisável)
...Recuperável? Não necessariamente Não necessariamente N/A
...Filtrável/Ordenável/Transformável em atributo? Sim (geralmente um pré-requisito para eles também) Não diretamente. Esses são atributos separados, geralmente criados em um campo indexável. Não diretamente. Esses atributos se relacionam à forma como o campo é indexado e consultado, não apenas exibido.

Na prática, muitos campos cruciais para a experiência do usuário (como títulos, descrições e informações de identificação) costumam ser definidos como indexable, searchable e retrievable.

Limitações

As configurações de campo têm as seguintes limitações:

  • É possível configurar até 50 campos como indexáveis, pesquisáveis, recuperáveis ou com facetas dinâmicas.
  • Para configurar um campo como dinâmico e com facetas, ele precisa ser configurado primeiro como indexável.
  • Para mudar a configuração indexável, é necessário indexar os dados de novo, o que pode levar horas, principalmente para grandes armazenamentos de dados.

Se você estiver configurando campos para um app de pesquisa de mídia e quiser informações detalhadas sobre os campos no esquema, consulte Sobre documentos de mídia e repositórios de dados.

Atualizar as configurações de campo

Para atualizar as configurações de campo:

  1. No console Google Cloud , acesse a página Aplicativos de IA.

    Aplicativos de IA

  2. Clique no nome do app que você quer editar.

  3. Clique em Dados.

  4. Clique na guia Esquema. Essa guia mostra as configurações atuais dos campos.

    A guia Esquema não vai aparecer se o repositório de dados tiver dados básicos do site ou dados não estruturados sem metadados.

  5. Clique em Editar.

  6. Selecione ou desmarque as configurações de campo que você precisa atualizar. Algumas configurações de campo estão indisponíveis. Por exemplo, campos numéricos não podem ser definidos como Pesquisável.

  7. Clique em Salvar para aplicar as alterações.

Se você marcar um campo como pesquisável, poderá especificar um peso para indicar a importância relativa dele nos resultados da pesquisa. Na maioria das situações, não é necessário especificar ponderações para campos individuais porque as ponderações padrão funcionam bem.

No entanto, o ajuste de ponderações pode ser necessário em algumas situações, por exemplo:

  • Você está migrando dados de uma plataforma de pesquisa que já usa campos ponderados.

  • Quando os pesos padrão não fornecem resultados de pesquisa satisfatórios. Isso pode acontecer quando você tem muitos campos pesquisáveis e alguns são muito mais importantes que outros.

    Talvez o resumo seja o campo mais importante para as pesquisas, e você queira priorizar esse texto.

    Ou o esquema tem um campo com palavras-chave altamente relevantes que são excelentes indicadores de resultados da pesquisa, mas, como esse campo é muito menor do que outros, sua influência é frequentemente ofuscada por campos mais longos. Aumentar o peso garante que ele tenha o impacto desejado.

Níveis de peso

As ponderações são agrupadas nos seguintes níveis:

Importância do campo Explicação
Muito baixa Um valor baixo que o sistema ainda considera ao combinar pontuações de todos os campos. Se você quiser ainda menos peso para que o efeito seja insignificante, não marque o campo como pesquisável.
Baixa Uma ponderação menor que a padrão.
Padrão O peso padrão para campos pesquisáveis. Esse peso oferece um desempenho razoavelmente bom para a maioria dos casos.
Alta Um peso visivelmente maior que o padrão.
Muito alto Um peso dominante. Normalmente, você reserva isso para, no máximo, um campo.

Atualização do esquema e reindexação

Para adicionar ponderações aos campos pesquisáveis, é necessário atualizar o esquema e reindexar os dados no repositório de dados. A atualização do esquema leva horas, e não há um indicador confiável para informar quando a indexação é concluída. Por isso, é necessário superestimar o tempo de indexação.

Definir níveis de ponderação nos campos

A tarefa de definir níveis de ponderação para campos pode ser tediosa porque você precisa fazer apenas pequenas mudanças e revisar cuidadosamente os resultados da pesquisa depois para verificar consequências não intencionais. Depois de cada mudança, aguarde a conclusão da reindexação antes de avaliar o impacto da mudança.

Só é possível configurar a ponderação do campo de pesquisa pela API. Esse recurso não está disponível no console Google Cloud .

Para definir ponderações, atualize o esquema do repositório de dados usando o método projects.locations.dataStores.schemas.patch da API.

  1. Se você ainda não tiver um esquema, siga as instruções para acessar um em Ver uma definição de esquema.

  2. Siga as instruções para atualizar o esquema de forma programática. Adicione pesos a um ou mais campos pesquisáveis, como nestes exemplos:

    "summary": {
       "type": "string",
       "searchable": true,
       "weight": "high"
     },
     "uri": {
       "type": "string",
       "searchable": true,
       "weight": "low"
     },
    

    Neste exemplo, o campo summary está definido com um peso maior do que o normal, e o campo uri, com um peso menor. Se você quiser retornar um peso ao valor padrão, defina-o como default.

    Os valores permitidos para o parâmetro "peso" são:

    • very_low
    • low
    • default
    • high
    • very_high
  3. Aguarde a conclusão da reindexação e teste o comportamento da pesquisa.

A seguir