Skip to main content

Elegir la solución de búsqueda adecuada

Objetivos de aprendizaje

Después de completar esta unidad, podrá:

  • Explicar cuándo crear una solución de búsqueda personalizada.
  • Describir las diferencias entre SOSL y SOQL.
  • Identificar los protocolos API que están disponibles para la búsqueda.

Realizar búsquedas al estilo propio de Salesforce

¿Sabe cuál es la función número uno y más usada de Salesforce? Si ha respondido que es la búsqueda, ha acertado. La búsqueda es la forma en que los usuarios esperan encontrar el registro que desean entre miles de datos.

En este módulo de Trailhead, aprenderá un poco sobre cómo funciona la búsqueda de Salesforce y cómo determinar si una solución de búsqueda personalizada es adecuada para usted. Además, aprenderá a crear rápidamente (o volver a crear) una solución personalizada mediante la API de Salesforce para algunos casos de uso frecuentes. Por último, aprenderá a optimizar las consultas de búsqueda para obtener resultados más específicos y relevantes. En resumen, al final tendrá una excelente base de conocimientos sobre la búsqueda y cómo esta función puede ayudar a los usuarios a ser más productivos.

Para empezar, vamos a analizar cómo funciona realmente la búsqueda en su conjunto.

Todos los registros se almacenan como campos de datos en la base de datos de la organización. Cuando actualiza o crea un registro, el motor de búsqueda se pone en funcionamiento, hace una copia de los datos y desglosa el contenido en elementos de menor tamaño llamados tokens. Almacenamos estos tokens en el índice de búsqueda junto con un vínculo al registro original.

Desde la perspectiva del usuario, el proceso de búsqueda es similar a la creación de un registro. Cuando un usuario ingresa un término en el campo de búsqueda (1), el motor de búsqueda desglosa el término de búsqueda en forma de tokens (2). Además, establece la coincidencia de estos tokens con la información de los registros almacenada en el índice de búsqueda (3), clasifica los registros asociados según su relevancia (4) y devuelve los resultados a los que el usuario tiene acceso (5).

Índice de búsqueda

Vamos a dedicar un momento a examinar el índice de búsqueda. ¿Por qué todo ese complejo proceso de generación de tokens cuando podríamos buscar en la base de datos de la organización? La razón es que el índice de búsqueda es muy inteligente a la hora de elegir los resultados que se devuelven al usuario.

El índice de búsqueda y los tokens permiten que el motor de búsqueda aplique funciones avanzadas, como la corrección ortográfica, los apodos, la lematización y los grupos de sinónimos. Todo esto significa que podemos presentar registros que incluyan variaciones de un término de búsqueda del usuario para ampliar la red de resultados. (Además, en caso de que se lo esté preguntando, la lematización no tiene nada que ver con la creación de lemas difusos. Está relacionada con la identificación y la devolución de variantes del término de búsqueda, como agregaradiciónagregado en los resultados de búsqueda).

El índice de búsqueda ofrece también la posibilidad de incluir clasificaciones según la relevancia en el conjunto. Así es como la búsqueda encuentra y clasifica los registros que buscan los usuarios. ¿Qué implica? Aspectos como la frecuencia, el orden y la exclusividad del término de búsqueda, la actividad de los registros, los permisos de acceso y otros factores. 

Hagamos una comparación. Una búsqueda en la base de datos de zapatillas de conejitos solamente devuelve registros que coinciden exactamente con “zapatillas de conejitos”. Sin embargo, con el índice de búsqueda, obtiene sin duda alguna registros con zapatillas de conejitos. Sin embargo, también se ven registros con términos similares como zapatillas de conejoszapatilla de conejo (singular). Asimismo, supongamos que ha ingresado zapatillas conejo o que ha escrito “conejito” de forma incorrecta (suele ocurrir). A pesar de la coincidencia y la ortografía deficientes, obtendrá resultados relevantes. Además, todos los resultados se ordenan según lo que sea relevante para el usuario específico que ha realizado la búsqueda.

Ahora, es posible que esté pensando lo siguiente. La función de búsqueda de uso inmediato de Salesforce parece una herramienta extraordinaria (y sin duda lo es) y funciona para la mayoría de los casos de uso. Entonces, ¿cuándo necesitaría una solución personalizada?

En general, necesita una solución de búsqueda personalizada cuando su organización usa una interfaz de usuario personalizada en lugar de la interfaz de usuario de Salesforce estándar. Algunos ejemplos de interfaces de usuario desarrolladas internamente son una base de conocimientos específica para clientes o un sitio de datos de productos interno para sus empleados. En este caso, hacemos una pequeña advertencia. La creación de una interfaz de usuario personalizada no es apta para todos y requiere trabajo adicional. La buena noticia es que la búsqueda personalizada le permite aprovechar las ventajas de algunas de las funciones avanzadas de la búsqueda de Salesforce. Por consiguiente, si su compañía decide crear una interfaz de usuario personalizada y necesita una solución de búsqueda personalizada, este es el módulo perfecto para usted.

Una vez descritos los inconvenientes y las ventajas de la búsqueda de Salesforce, nos centraremos en las API que le permiten buscar registros en su solución de búsqueda personalizada.

Establecer conexiones para la búsqueda mediante las API

Tenga en cuenta que hay dos API principales. (Más adelante hablaremos sobre dos API adicionales). 

  • Salesforce Object Query Language (SOQL)
  • Salesforce Object Search Language (SOSL)

Tanto SOQL como SOSL son consultas de texto con formato en una API determinada. No obstante, aquí terminan las similitudes. Una consulta SOQL es el equivalente de una declaración SELECT (SQL) y permite la búsqueda en la base de datos de la organización. Por otra parte, SOSL es un método programático para la realización de una búsqueda basada en texto en el índice de búsqueda. SOSL usa todas las increíbles funciones del índice de búsqueda mencionadas anteriormente.

Además, SOQL y SOSL tienen sintaxis diferentes. Para su referencia, hemos incluido vínculos a documentos para desarrolladores en la sección Recursos. A continuación, se incluyen algunas instrucciones sobre cuándo usar SOQL o SOSL.

Use SOQL cuando sepa en qué objetos o campos residen los datos y desee hacer lo siguiente:

  • Recuperar datos de un solo objeto o de múltiples objetos que están relacionados entre sí.
  • Realizar un conteo del número de registros que cumplen los criterios especificados.
  • Ordenar los resultados como parte de la consulta.
  • Recuperar datos de campos de número, fecha o casilla.

Use SOSL cuando no sepa en qué objeto o campo residen los datos y desee hacer lo siguiente:

  • Recuperar datos para un término específico que sabe que existe en un campo. Dado que SOSL puede tokenizar varios términos de un campo y crear un índice de búsqueda a partir de esto, las búsquedas SOSL son más rápidas y pueden devolver más resultados relevantes.
  • Recuperar múltiples objetos y campos de forma eficiente con independencia de que los objetos estén relacionados o no entre sí.
  • Recuperar datos para una división concreta de una organización mediante la función de divisiones y buscarlos de la forma más eficiente posible.

Abordemos ahora dos tipos de API adicionales. 

En primer lugar, la API de registros sugeridos. Tal vez ya conozca los registros sugeridos por sus alias: sugerencia automática, resultados instantáneos o escritura anticipada. Es probable que también esté familiarizado con su comportamiento. Supongamos que usa un sitio web para la venta de las zapatillas deportivas más sofisticadas. Usa una solución de búsqueda personalizada de Salesforce para su base de conocimientos con el fin de fomentar una comunidad de corredores. Desea saber qué zapatillas comprar para carreras por montaña. Empieza a escribir “carrera por montaña” en la barra de búsqueda y se muestran opciones de artículos que incluyen los términos de búsqueda en el título. 

¡El cuadro de búsqueda sabe exactamente lo que desea leer!

Los métodos REST de búsqueda de registros sugeridos y búsqueda de artículos sugeridos están a su disposición para que sus usuarios también puedan disfrutar de ellos de inmediato. Proporcionamos más información sobre cómo usar estos métodos más adelante.

Hemos explicado detenidamente cómo buscar registros en Salesforce. Pero, ¿qué ocurre si tiene registros almacenados fuera de Salesforce a los que acceden los usuarios para sus trabajos? También tenemos una solución para eso: la búsqueda federada de Salesforce. Es un nuevo método para que los usuarios busquen elementos almacenados fuera de Salesforce, sin tener que salir de Salesforce Classic, Salesforce Console o Lightning Experience. 

La función de búsqueda federada de Salesforce le permite convertir el cuadro de búsqueda global en un motor de búsqueda externo. Una vez que se ha configurado la búsqueda federada, transferimos la consulta del usuario al motor externo, el cual busca en las fuentes externas. Los resultados se devuelven exactamente en los resultados de búsqueda de Salesforce. Para conseguir esto, usamos el conector de búsqueda federada de Salesforce. Este conector se crea mediante la especificación OpenSearch para que pueda conectar cualquier motor de búsqueda que cumpla el estándar de la industria.

Es importante saber que la búsqueda federada de Salesforce no usa el índice de búsqueda de Salesforce, lo que significa que no se aplican todas esas excelentes funciones avanzadas de Salesforce. En este caso, los resultados se devuelven de acuerdo con lo establecido por el proveedor de búsqueda externo, el cual es también muy avanzado.

A continuación, veremos cómo usar protocolos para enviar consultas SOSL y SOQL. 

Enviar consultas con protocolos

Puede escribir todas las maravillosas consultas de búsqueda que desee. Sin embargo, esto no servirá de nada a menos que use un protocolo API, como REST, SOAP o Apex, para enviar las consultas realmente. 

Tenga en cuenta que algunos protocolos funcionan mejor con unas API que con otras. En general, nos referimos a consultas para SOQL y a búsquedas para SOSL.

  • Query (REST) and query() (SOAP). Se ejecuta una consulta SOQL en el objeto especificado y se devuelven datos que coinciden con los criterios especificados.
  • Search (REST) and search() (SOAP). Se ejecuta una búsqueda SOSL de una cadena de texto en los datos de su organización.

Hay también recursos adicionales disponibles para realizar otras tareas de búsqueda comunes, como los registros de sugerencia automática, los artículos y las consultas. Y si prefiere prescindir de SOSL y SOQL, considere la posibilidad de usar la búsqueda parametrizada en REST. En lugar de usar una cadena de búsqueda en la URL, debe usar parámetros (de ahí el nombre) en la URL.

En el caso de Apex, puede usar SOQL o SOSL sobre la marcha si incluye la declaración entre corchetes. Puede usar también una clase de búsqueda para realizar consultas SOSL dinámicas y un espacio de nombres de búsqueda para obtener resultados de búsqueda y resultados de sugerencias.

Hemos incluido una práctica lista en la sección de recursos de esta unidad. Además, describiremos cómo usar los protocolos en la siguiente unidad para que pueda empezar. No se olvide de leer los documentos para desarrolladores para revisar toda la información y los ejemplos. 

Recursos

¡Siga aprendiendo gratis!
Regístrese para obtener una cuenta y continuar.
¿Qué hay para usted?
  • Consiga recomendaciones personalizadas para sus objetivos profesionales
  • Practique sus aptitudes con retos prácticos y pruebas
  • Siga y comparta su progreso con empleadores
  • Póngase en contacto para recibir asesoramiento y oportunidades laborales