Melhorar a qualidade da pesquisa

Qualidade da pesquisa refere-se à qualidade dos resultados da pesquisa em termos de classificação e recall, conforme percebido pelo usuário.

Classificação é a ordem dos itens, e recall é o número de itens relevantes recuperados. Um item (ou documento) é qualquer conteúdo digital que o Google Cloud Search possa indexar, como documentos do Microsoft Office, arquivos PDF, linhas de banco de dados ou URLs exclusivos. Um item consiste em:

  • Metadados estruturados
  • Conteúdo indexável
  • ACLs

O Cloud Search usa vários indicadores para recuperar e classificar os resultados. É possível influenciar esses sinais por meio de configurações no esquema, no conteúdo e nos metadados do item e no app de pesquisa. Este documento ajuda você a melhorar a qualidade da pesquisa modificando esses influenciadores de sinal.

Para um resumo das configurações, consulte o Resumo das configurações de qualidade da pesquisa.

Influenciar a pontuação de utilidade

Utilidade é a relevância de um resultado da pesquisa em relação aos termos da consulta. O Cloud Search calcula a relevância com base em:

  • A importância de cada termo de consulta
  • O número de ocorrências, ou seja, a frequência com que um termo de consulta aparece no conteúdo ou nos metadados.
  • Os tipos de correspondência entre termos de consulta e itens indexados.

Para influenciar a pontuação de utilidade da propriedade de um texto, defina o RetrievalImportance no seu esquema. Uma correspondência em uma propriedade com alta RetrievalImportance resulta em uma pontuação maior.

Por exemplo, se você armazena o histórico de bugs de software, os usuários provavelmente fazem consultas pelo nome do bug. Defina o RetrievalImportance do nome como HIGHEST. Para descrições, use DEFAULT.

{
  "objectDefinitions": [
    {
      "name": "issues",
      "propertyDefinitions": [
        {
          "name": "summary",
          "textPropertyOptions": {
            "retrievalImportance": { "importance": "HIGHEST" }
          }
        },
        {
          "name": "description",
          "textPropertyOptions": {
            "retrievalImportance": { "importance": "DEFAULT" }
          }
        }
      ]
    }
  ]
}

No caso de documentos HTML, tags como <title> e <h1> ajudam a determinar a importância do termo. Se ContentFormat for TEXT, ItemContent usará a importância DEFAULT. Se for HTML, a importância vai depender das propriedades HTML.

Influenciar a atualização

A atualização mede quando ocorreu a última modificação de um item usando createTime e updateTime em ItemMetadata. Itens mais antigos têm uma classificação mais baixa.

É possível influenciar a atualização ajustando freshnessProperty e freshnessDuration em FreshnessOptions. O freshnessProperty permite usar uma data ou um carimbo de data/hora personalizado em vez de updateTime. Para bugs, você pode usar uma data de vencimento para que os itens com datas mais próximas de agora sejam classificados mais alto.

{
  "objectDefinitions": [
    {
      "name": "issues",
      "options": {
        "freshnessOptions": { "freshnessProperty": "duedate" }
      }
    }
  ]
}

Use freshnessDuration para especificar quando um item é considerado desatualizado. Um valor alto, como 100 anos, anula o efeito de atualização. Isso é útil para dados estáticos, como perfis de funcionários. Para notícias, use um valor pequeno, como três dias.

Influenciar a qualidade

A qualidade mede a precisão e a utilidade de um item. Especifique um valor entre 0 e 1 usando SearchQualityMetadata. Valores mais altos melhoram a classificação. Por exemplo, você pode aumentar a relevância de documentos de benefícios criados pelo RH.

{
  "metadata": {
    "searchQualityMetadata": { "quality": 1.0 }
  }
}

Influenciar a classificação usando o tipo de campo

É possível influenciar a classificação com base em propriedades de enumeração ou inteiras usando OrderedRanking:

  • NO_ORDER (padrão): não afeta a classificação.
  • ASCENDING: valores mais altos melhoram a classificação.
  • DESCENDING: valores mais baixos aumentam a classificação.

Para prioridade de bug, use DESCENDING se HIGH for 1 e LOW for 3. Para uma propriedade votes, use ASCENDING.

Influenciar a classificação por meio de expansão de consulta

A expansão de consulta usa sinônimos e ortografia para melhorar os resultados.

Use sinônimos.

O Cloud Search usa conteúdo público da Web para sinônimos. Também é possível definir sinônimos personalizados para terminologia específica da organização. Consulte Definir sinônimos.

Usar ortografia

O Cloud Search oferece sugestões de ortografia em SpellResult. Ele também usa correções ortográficas como sinônimos para encontrar documentos.

Influenciar a classificação por meio das configurações do app de pesquisa

Um aplicativo de pesquisa fornece informações contextuais. É possível influenciar a classificação usando as seguintes configurações.

Ajustar a configuração de pontuação

Especifique um ScoringConfig para desativar a atualização ou a personalização. Desativar a personalização remove os aumentos de proprietário e interação. Consulte Personalizar a experiência de pesquisa.

Ajustar a configuração de fonte

Especifique as configurações no nível da fonte de dados:

  • Importância da fonte: os itens de uma fonte de importância HIGH têm uma classificação mais alta.
  • Agrupamento: limita os resultados de uma única fonte (o padrão é 3) para garantir a diversidade.

Personalização

A personalização prioriza os resultados com base no usuário:

  • Propriedade do item: aumenta a classificação de itens pertencentes ao usuário.
  • Interação do item: aumenta a classificação dos itens que o usuário visualizou, editou ou comentou recentemente.
  • O usuário clica: aumenta a classificação dos itens em que o usuário clicou anteriormente. Não modifique o URL do resultado, porque ele é usado para coletar esses dados.

Interpretação de consulta

O recurso interpretação de consulta converte consultas do usuário em consultas estruturadas e baseadas em operadores usando definições de esquema. Isso fornece resultados precisos mesmo com um mínimo de palavras-chave. Consulte Estruturar um esquema para interpretação ideal de consultas.

Idioma do item

O Cloud Search rebaixa itens cujo idioma não corresponde ao idioma da consulta. Defina languageCode em RequestOptions de acordo com a preferência do usuário.

Contexto do item

Use contextAttributes para aumentar a classificação de itens relevantes para o contexto da consulta, como local ou departamento.

Popularidade do item

O Cloud Search aumenta a relevância dos itens em que os usuários clicam com frequência em consultas recentes. Não modifique os URLs dos resultados da pesquisa, porque eles são usados para rastrear esses cliques.

Resumo das configurações de qualidade da pesquisa

As tabelas a seguir fornecem um resumo das configurações de qualidade da pesquisa:

Configurações do esquema

Configuração Local Recomendação Detalhes
ItemContent ItemContent Recomendado Relevância
RetrievalImportance RetrievalImportance Recomendado Relevância
FreshnessOptions FreshnessOptions Opcional Atualização

Configurações de indexação

Configuração Local Recomendação Detalhes
createTime/updateTime ItemMetadata Recomendado Atualização
contentLanguage ItemMetadata Recomendado Idioma do item
owners ItemAcl Recomendado Propriedade do item
Sinônimos personalizados _dictionaryEntry Recomendado Usar sinônimos
quality SearchQualityMetadata Opcional Influenciar a qualidade
Dados de interação interaction Opcional Interação com o item
OrderedRanking OrderedRanking Opcional Tipo de campo

Configurações do app de pesquisa

Configuração Local Recomendação Detalhes
Desativar personalização ScoringConfig Recomendado Personalização
Importância da fonte SourceCrowdingConfig Opcional Configuração da origem
Agrupamento SourceCrowdingConfig Opcional Configuração da origem

Próximas etapas

  1. Estrutura de um esquema para a interpretação ideal de consultas.
  2. Definir sinônimos.