Skip to main content

Otimizar resultados de pesquisa

Objetivos de aprendizagem

Após concluir esta unidade, você estará apto a:

  • Descrever como criar pesquisas de texto eficientes que retornam resultados de pesquisa mais específicos.
  • Descrever como criar a funcionalidade de sugestão automática para pesquisas.
  • Listar mais coisas que os administradores podem fazer para aprimorar os resultados de pesquisa para os usuários.

Criar pesquisas de texto eficientes

As consultas de pesquisa podem ser caras. Quanto maior a quantidade de dados que você estiver pesquisando e a quantidade de resultados sendo retornados, mais lenta toda a operação pode se tornar.

Mas como combater pesquisas lentas? Com duas estratégias básicas.

  • Limitar quais dados se está pesquisando
  • Limitar quais dados estão sendo retornados

Mas tome cuidado para não ir longe demais. Se você for eficiente demais, a pesquisa acaba sendo menos útil. Os usuários não gostam quando veem record not found (registro não encontrado) e sabem que o registro existe.

Aqui estão nossas recomendações para se criar um meio-termo. Vamos começar com um exemplo do SOSL para entender os conceitos básicos.

Para limitar os dados pesquisados, use IN SearchGroup. Você pode pesquisar por nome, email, telefone, barra lateral ou todos os campos. Por exemplo, se quiser pesquisar somente por um email, você limita a pesquisa apenas aos campos de email.

FIND {jsmith@cloudkicks.com} IN EMAIL FIELDS RETURNING Contact

Agora vamos falar dos resultados da pesquisa. Sim, os usuários acham que querem ver todos os resultados. Mas se você tiver milhares de registros, está na hora de rever essa posição. Pense em como você poderia limitar os resultados ou pelo menos dividi-los em partes menores, mais fáceis de digerir.

Mais uma vez, recorrendo ao SOSL, você pode usar RETURNING FieldSpec para especificar quais dados são retornados. Nós o usamos na última unidade, mas vamos falar sobre os elementos mais avançados que ele inclui.

  • ObjectTypeName – Especifica o objeto a ser retornado.
  • FieldList – Especifica os campos a serem retornados.
  • ORDER By – Especifica por qual campo os resultados serão ordenados. Você também pode especificar se a ordem será crescente ou decrescente.
  • LIMIT n – Define o número máximo de registros retornados para determinado objeto.
  • OFFSET n – Define o deslocamento da linha inicial dentro do conjunto de resultados retornado por sua consulta.

É muita coisa para processar. Vamos examinar etapa a etapa.

Etapa Meta Exemplo
1 Especificar o objeto a ser retornado.
FIND {Cloud Kicks} RETURNING Account
2 Especificar o campo a ser retornado.
FIND {Cloud Kicks} RETURNING Account(Name, Industry)
3 Ordenar os resultados por campo em ordem crescente, que é o padrão.
FIND {Cloud Kicks} RETURNING Account (Name, Industry ORDER BY Name)
4 Definir o número máximo de registros retornados.
FIND {Cloud Kicks} RETURNING Account (Name, Industry ORDER BY Name LIMIT 10)
5 Definir o deslocamento da linha inicial nos resultados.
FIND {Cloud Kicks} RETURNING Account (Name, Industry ORDER BY Name LIMIT 10 OFFSET 25)

Agora que você está começando a entender como isto funciona, vamos experimentar algumas instruções WITH, que filtram os registros por certos campos predefinidos. Filtrando previamente os resultados, você retorna menos resultados e melhora o desempenho. Além disso, os usuários não precisam ficar catando o que precisam no meio de tantos resultados. Que tipos de filtros WITH o SOSL oferece? Bem, aqui estão eles:

Recurso Exemplo
WITH DIVISION
FIND {Cloud Kicks} RETURNING Account (Name, Industry)
    WITH DIVISION = 'Global'
WITH DATA CATEGORY 
FIND {race} RETURNING KnowledgeArticleVersion
    (Id, Title WHERE PublishStatus='online' and language='en_US')
    WITH DATA CATEGORY Location__c AT America__c
WITH NETWORK
FIND {first place} RETURNING User (Id, Name),
FeedItem (id, ParentId WHERE CreatedDate = THIS_YEAR Order by CreatedDate DESC)
WITH NETWORK = '00000000000001'
WITH PRICEBOOK
Find {shoe} RETURNING Product2 WITH PricebookId = '01sxx0000002MffAAE'

Começou a entender? Parece que você está pronto para ver como isto funciona em SOQL. A boa notícia é que é basicamente a mesma coisa. SOQL tem sintaxes similares em SELECT que alcançam o mesmo resultado que SOSL. A lista completa de sintaxes, incluindo como limitar por categoria de dados ou rede, se encontra nos documentos de desenvolvedores. Aqui está uma tabela comparativa útil de algumas das sintaxes que discutimos.

Eu quero... SOSL SOQL
Limitar os dados que são pesquisados IN SearchGroup WHERE
Especificar os dados a serem retornados na resposta Returning FieldSpec SELECT
Classificar os resultados ORDER BYLIMITOFFSET ORDER BYLIMITOFFSET
Filtrar por categoria de dados WITH DATA CATEGORY WITH DATA CATEGORY

Exibir resultados sugeridos

Você se lembra da primeira unidade, lá atrás, quando falamos sobre sugestão automática de registros e a arte de se pesquisar informações sobre corridas em trilha? Vamos reexaminar esse conceito de maneira um pouco mais detalhada.

Só para lembrar, você pode usar APIs para que as sugestões apareçam conforme o usuário digita na barra de pesquisa. As sugestões retornam registros cujo título corresponde àquilo que o usuário está digitando. Esse recurso faz com que seus usuários cheguem aonde querem com maior rapidez, o que é a finalidade da pesquisa, certo?

Para tirar proveito desse recurso, aqui estão os recursos REST essenciais. Cada recurso tem sintaxe e parâmetros similares, mas use aquele que melhor se encaixa em seu caso.

  • Search Suggested Records (Pesquisar registros sugeridos) – Retorna uma lista de registros sugeridos cujos nomes correspondem à string de pesquisa do usuário. O recurso de sugestões fornece um atalho para que os usuários naveguem diretamente para registros que provavelmente são relevantes antes de executar uma pesquisa completa.
  • Search Suggested Article Title Matches (Pesquisar correspondências de títulos de artigos sugeridos) – Retorna uma lista de artigos do Salesforce Knowledge cujos títulos correspondem à string de consulta da pesquisa do usuário. Fornece um atalho para navegar diretamente para artigos que provavelmente são relevantes antes que o usuário execute uma pesquisa.
  • SObject Suggested Articles for Case (Artigos sugeridos de SObject para caso) – Retorna uma lista de artigos sugeridos do Salesforce Knowledge para um caso.

Vamos usar a opção Search Suggested Article Title Matches (Pesquisar correspondências de títulos de artigos sugeridos) como exemplo de como a sugestão funciona. Aqui está a sintaxe básica, mas consulte os documentos da API para ver a lista completa de parâmetros disponíveis.

/vXX.X/search/suggestTitleMatches?q=search string&language=article language&publishStatus=article publication status

Agora usamos aquela sintaxe, mas com um exemplo específico. A solicitação fica assim:

/vXX.X/search/suggestTitleMatches?q=race+tips&language=en_US&publishStatus=Online

E a resposta JSON:

{
  "autoSuggestResults" : [ {
    "attributes" : {
    "type" : "KnowledgeArticleVersion",
    "url" : "/services/data/v30.0/sobjects/KnowledgeArticleVersion/ka0D00000004CcQ"
    },
  "Id" : "ka0D00000004CcQ",
  "UrlName" : "tips-for-your-first-trail-race",
  "Title" : "race tips",
  "KnowledgeArticleId" : "kA0D00000004Cfz",
  "isMasterLanguage" : "1",
  } ],
  "hasMoreResults" : false
}

Trabalhar com administradores

Otimizar resultados de pesquisa é um esporte de equipe. Felizmente, você conhece a melhor pessoa para a assistência: seu administrador MVP. Aqui está a jogada que vai ajudar você a ganhar alguns pontos fáceis no aprimoramento dos resultados de pesquisa se trabalhar em cooperação com seu administrador.

A primeira etapa é configurar e otimizar grupos de sinônimos, que contêm palavras ou expressões que são tratadas igualmente nas pesquisas. Uma pesquisa por um termo em um grupo de sinônimos retorna resultados para todos os termos do grupo. Por exemplo, uma pesquisa por USB retorna resultados para todos os termos no grupo de sinônimos, que contém USB, pen drive, flash drive e memory stick. Você provavelmente já está vendo o valor de grupos de sinônimos. Os usuários podem pesquisar usando um termo e ainda assim obter os resultados que querem, mesmo que não tenham utilizado o termo de pesquisa “certo”. Não é preciso renomear produtos.

É fácil criar grupos de sinônimos.
  1. Em Configuração, insira Sinônimos na caixa Busca rápida e selecione Sinônimos.
  2. Em Grupos de sinônimos personalizados, clique em Novo para criar um grupo de sinônimos ou em Editar ao lado de um grupo já criado.
  3. Adicione dois a seis sinônimos por grupo. Um sinônimo pode ser uma palavra ou frase. Sem caracteres especiais.
Nota

Os grupos de sinônimos padrão, fornecidos pelo Salesforce, estão ativos por predefinição.

Você tem toneladas de sinônimos para importar? Aproveite a API de metadados listada na seção de referências.

Agora que os grupos de sinônimos já estão resolvidos, a próxima etapa são os termos de pesquisa promovidos para artigos do Knowledge.

Termos de pesquisa promovidos são úteis para atrair mais atenção para um artigo que você sabe que é comumente usado para resolver um problema de suporte. A configuração é simples. Os administradores encontram o artigo perfeito, depois adicionam termos à lista relacionada de Termos de pesquisa promovidos. Os usuários que inserem essas palavras-chave veem o artigo escolhido no topo dos resultados de pesquisa.

Por exemplo, sua equipe de suporte preparou o artigo perfeito sobre como devolver sapatos que não cabem. O administrador vai lá e atualiza o artigo para incluir os termos de pesquisa promovidos return (devolver) e doesn’t fit (não cabe). Quando os usuários pesquisam por esses termos, o artigo aparece.

Algumas dicas para ajudar seu administrador a refinar os termos de pesquisa promovidos.

  • O número máximo de caracteres por termo é 100. Para obter os melhores resultados ao fazer a correspondência dos termos de pesquisa dos usuários, limite cada termo promovido a algumas poucas palavras-chave.
  • Não exagere. Para obter os melhores resultados, use-os seletivamente, o que significa criar um número limitado de termos promovidos e um número limitado de artigos promovidos por termo. Adicionar muitos termos de pesquisa promovidos pode afetar a classificação de relevância para os usuários, levando a resultados indesejados. Sua organização pode criar um máximo de 2.000 termos promovidos.
  • A pesquisa de artigo corresponde a um termo promovido sempre que todas as palavras-chave contidas no termo ocorrem dentro dos termos de pesquisa do usuário, em qualquer sequência. Cada palavra-chave deve ser exatamente igual.

Vamos concluir

A pesquisa talvez não seja o mais glamoroso dos recursos do Salesforce, mas é o mais usado.

Esperamos que, ao longo deste módulo, você tenha conseguido entender e apreciar o poder por trás dele. Você aprendeu a arquitetura da pesquisa, como criar soluções de pesquisa para alguns casos de uso comuns e como criar consultas de pesquisa eficientes. Agora já pode criar uma pesquisa que deixe os usuários deslumbrados.

Continue a aprender de graça!
Inscreva-se em uma conta para continuar.
O que você ganha com isso?
  • Receba recomendações personalizadas para suas metas de carreira
  • Pratique suas habilidades com desafios práticos e testes
  • Monitore e compartilhe seu progresso com os empregadores
  • Conecte-se a orientação e oportunidades de carreira