Skip to main content

Optimizar los resultados de búsqueda

Objetivos de aprendizaje

Después de completar esta unidad, podrá:

  • Describir cómo crear búsquedas de texto eficientes que devuelvan resultados de búsqueda más específicos.
  • Describir cómo desarrollar la funcionalidad de la sugerencia automática para las búsquedas.
  • Incluir más acciones que los administradores puedan aprovechar para mejorar los resultados de búsqueda para los usuarios.

Crear búsquedas de texto eficientes

Las consultas de búsqueda pueden ser costosas. Cuantos más datos busque y más resultados se devuelvan, más se ralentizará toda la operación.

¿Cómo puede evitar la lentitud de los procesos de búsqueda? Con dos estrategias básicas.

  • Limitar los datos que se buscan.
  • Limitar los datos que se devuelven.

Pero no desea llegar tan lejos. Si es demasiado eficiente, la búsqueda será menos útil. A los usuarios no les gusta ver el mensaje Registro no encontrado cuando saben que el registro existe.

Estas son nuestras recomendaciones para crear un entorno feliz. Empecemos por un ejemplo de SOSL para comprender los conceptos fundamentales.

Para limitar los datos que se van a buscar, use IN SearchGroup. Puede buscar por nombre, correo electrónico, teléfono, en la barra lateral o en todos los campos. Por ejemplo, si desea buscar un único correo electrónico, busque solamente en los campos de correo electrónico.

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

Ahora, vamos a detenernos en los resultados de búsqueda. Sí, los usuarios creen que desean ver todos los resultados. Sin embargo, si tiene miles de registros, ha llegado el momento de replantearse la situación. Piense en cómo podría limitar los resultados o al menos desglosarlos en fragmentos de menor tamaño y más fáciles de procesar.

Volvemos de nuevo a SOSL, ya que puede usar RETURNING FieldSpec para especificar qué datos se van a devolver. Lo hemos usado en la última unidad, pero vamos a describir los elementos más avanzados que incluye.

  • ObjectTypeName. Especifica el objeto que se devuelve.
  • FieldList. Especifica los campos que se devuelven.
  • ORDER By. Especifica los campos por los que se ordenan los resultados. Además, puede especificar un orden ascendente o descendente.
  • LIMIT n. Establece el número máximo de registros devueltos para un objeto determinado.
  • OFFSET n. Establece el desplazamiento entre filas inicial en el conjunto de resultados devuelto por la consulta.

Son muchos los aspectos que debe tener en cuenta. Vayamos paso a paso.

Paso Objetivo Ejemplo
1 Especificar el objeto que se devuelve.
FIND {Cloud Kicks} RETURNING Account
2 Especificar el campo que se devuelve.
FIND {Cloud Kicks} RETURNING Account(Name, Industry)
3 Ordenar los resultados por campo en dirección ascendente (valor predeterminado).
FIND {Cloud Kicks} RETURNING Account (Name, Industry ORDER BY Name)
4 Establecer el número máximo de registros que se devuelven.
FIND {Cloud Kicks} RETURNING Account (Name, Industry ORDER BY Name LIMIT 10)
5 Establecer el desplazamiento entre filas inicial en los resultados.
FIND {Cloud Kicks} RETURNING Account (Name, Industry ORDER BY Name LIMIT 10 OFFSET 25)

Ahora que ya tiene una idea general, vamos a probar algunas declaraciones WITH, las cuales permiten filtrar los registros por determinados campos predefinidos. Si los resultados se filtran previamente, se devuelven menos resultados y aumenta el rendimiento. Además, los usuarios no necesitan examinar tantos resultados. ¿qué tipos de filtros WITH proporciona SOSL? Son los siguientes:

Recurso Ejemplo
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'

¿Empieza a comprender el proceso? Seguramente ya está listo para ver cómo funciona esto en SOQL. La buena noticia es que el proceso es bastante parecido. SOQL incluye sintaxis similares mediante SELECT, lo que permite obtener el mismo resultado que con SOSL. La lista completa de sintaxis, lo que incluye cómo limitar por categoría de datos o red, se puede consultar en los documentos para desarrolladores. La siguiente es una práctica tabla de comparación de algunas de las sintaxis que hemos revisado.

Deseo... SOSL SOQL
Limitar los datos que se van a buscar IN SearchGroup WHERE
Especificar los datos que se van a devolver en la respuesta Returning FieldSpec SELECT
Ordenar los resultados ORDER BYLIMITOFFSET ORDER BYLIMITOFFSET
Filtrar por categoría de datos WITH DATA CATEGORY WITH DATA CATEGORY

Mostrar resultados sugeridos

¿Recuerda que en la primera unidad mencionamos la sugerencia automática de registros y la mejor forma de buscar información sobre la carrera por montaña? Vamos a examinar este concepto más detenidamente.

A modo de recordatorio, puede usar las API de modo que las sugerencias se muestren a medida que el usuario escribe en la barra de búsqueda. Las sugerencias devuelven registros que incluyen un título que coincide con lo que está escribiendo el usuario. Esta función permite a los usuarios encontrar lo que desean más rápidamente, lo cual es obviamente el objetivo de la búsqueda.

Para aprovechar al máximo esta función, a continuación se incluyen algunos recursos REST que le resultarán útiles. Cada recurso tiene una sintaxis y unos parámetros similares, pero debe usar el que mejor se adapte a su caso de uso.

  • Búsqueda de registros sugeridos. Se devuelve una lista de registros sugeridos cuyos nombres coinciden con la cadena de búsqueda del usuario. El recurso de sugerencias proporciona un acceso directo para que los usuarios naveguen directamente a registros que probablemente son relevantes antes de realizar una búsqueda completa.
  • Búsqueda de coincidencias en títulos de artículos sugeridos. Se devuelve una lista de artículos de Salesforce Knowledge cuyos títulos coinciden con la cadena de consulta de búsqueda del usuario. Se proporciona un acceso directo para navegar directamente a los artículos probablemente relevantes antes de que el usuario realice una búsqueda.
  • Artículos sugeridos para caso con sObject. Se devuelve una lista de artículos de Salesforce Knowledge sugeridos para un caso.

Vamos a usar la opción de búsqueda de coincidencias en títulos de artículos sugeridos a modo de ejemplo para ver cómo funcionan las sugerencias. Esta es la sintaxis básica, pero consulte los documentos sobre las API para ver la lista completa de parámetros disponibles.

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

A continuación, vamos a usar esta sintaxis con un ejemplo concreto. La solicitud es similar a la siguiente.

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

Y esta es la respuesta en formato 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
}

Trabajar con los administradores

La optimización de los resultados de búsqueda es un deporte en equipo. Por suerte, conoce a la persona perfecta para obtener ayuda, que en este caso es el administrador profesional con más experiencia (MVP). El juego consiste en obtener puntos fácilmente al mejorar los resultados de búsqueda mediante la colaboración con su administrador.

El primer paso es configurar y optimizar grupos de sinónimos, los cuales incluyen palabras o frases consideradas equivalentes en las búsquedas. La búsqueda de un término en un grupo de sinónimos devuelve resultados para todos los términos del grupo. Por ejemplo, la búsqueda de USB devuelve resultados para todos los términos del grupo de sinónimos, el cual incluye USB, unidad en miniatura, unidad flash y dispositivo de memoria. Probablemente ya sabe el valor que tienen los grupos de sinónimos. Los usuarios pueden buscar un solo término y obtener los resultados que desean, incluso si no usan el término de búsqueda “correcto”. No es necesario cambiar los nombres de los productos.

La creación de grupos de sinónimos es sencilla.
  1. En Configuración, escriba Sinónimos en el cuadro Búsqueda rápida y, a continuación, seleccione Sinónimos.
  2. En Grupos de sinónimos personalizados, haga clic en Nuevo para iniciar un grupo de sinónimos, o bien en Modificar junto a un grupo existente.
  3. Agregue de dos a seis sinónimos por grupo. Un sinónimo puede ser cualquier palabra o frase. No use caracteres especiales.
Nota

Los grupos de sinónimos estándar, proporcionados por Salesforce, están activados de manera predeterminada.

¿Tiene infinidad de sinónimos que importar? Aproveche las ventajas que ofrece en este caso la API de metadatos incluida en la sección de referencias.

Ahora que ya controla los grupos de sinónimos, el paso siguiente es la promoción de términos de búsqueda para artículos de Knowledge.

Los términos de búsqueda promocionados son útiles para buscar mejor un artículo que sabe que se usa con frecuencia para solucionar un problema de asistencia. La configuración es sencilla. Los administradores encuentran el artículo perfecto y, a continuación, agregan términos a la lista relacionada Términos de búsqueda promocionados. Los usuarios que introduzcan estas palabras clave verán el artículo elegido en la parte superior de los resultados de búsqueda.

Por ejemplo, su equipo de asistencia ha redactado el artículo absolutamente perfecto sobre cómo devolver zapatillas que no quedan bien. El administrador accede y actualiza el artículo para incluir los términos de búsqueda promocionados devolver y no quedan bien. Cuando los usuarios buscan estos términos, el artículo se muestra de inmediato.

Hay además un par de aspectos que ayudan al administrador a ajustar con precisión los términos de búsqueda promocionados.

  • El número de caracteres máximo por término es 100. Para obtener los mejores resultados a la hora de establecer coincidencias con los términos de búsqueda de los usuarios, limite cada término promocionado a unas cuantas palabras clave.
  • No complique el proceso. Para obtener un resultado óptimo, haga un uso selectivo, lo que implica la creación de un número limitado de términos promocionados y un número limitado de artículos promocionados por término. La adición de demasiados términos de búsqueda promocionados podría afectar a la clasificación por relevancia para los usuarios, lo que se traduciría en resultados no deseados. Su organización puede crear como máximo 2000 términos promocionados.
  • La búsqueda de artículos coincidirá con un término promocionado siempre que todas las palabras clave del término se incluyan en los términos de búsqueda del usuario en cualquier orden. Cada palabra clave debe coincidir exactamente.

A modo de resumen

Es probable que la búsqueda no sea una de las funciones de Salesforce más glamurosas, pero sí es la que se usa con mayor frecuencia.

Por suerte, en este módulo ha conseguido comprender y apreciar su verdadero poder. Ya conoce la arquitectura de la búsqueda y además sabe cómo crear soluciones de búsqueda para casos de uso comunes y cómo crear consultas de búsqueda eficientes. Ahora, ya puede avanzar y crear una solución de búsqueda que impresione a sus usuarios.

Comparta sus comentarios sobre Trailhead en la Ayuda de Salesforce.

Nos encantaría conocer su experiencia con Trailhead. Ahora puede acceder al nuevo formulario de comentarios cuando quiera desde el sitio de la Ayuda de Salesforce.

Más información Continuar para compartir comentarios