Empiece a realizar un seguimiento de su progreso
Inicio de Trailhead
Inicio de Trailhead

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.

Establecer conexiones para la búsqueda mediante las API

Tenga en cuenta que hay dos API principales. Hablaremos de dos API adicionales un poco más adelante. Considere esto los entrantes del plato fuerte.

  • Lenguaje de consulta de objetos de Salesforce (SOQL)
  • Lenguaje de búsqueda de objetos de Salesforce (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. Hemos incluido una serie de vínculos a documentos para desarrolladores en la sección de recursos. No se detenga en esta información por ahora, pero hemos pensado que le gustaría tener estos documentos como referencia en otro momento. Ya lo sabe en caso de que le apetezca quedarse leyendo por la noche alguna información sobre las API con sus nuevas zapatillas de conejitos.

Ahora que tiene los conocimientos esenciales, 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.

¿Recuerda que hemos mencionado que hay dos tipos de API adicionales? Pues bien, no se trataba de una broma. En primer lugar, tenemos la API de registros sugeridos. Es posible que ya conozca los registros sugeridos por sus alias: sugerencia automática, resultados instantáneos, escritura anticipada o dos tipos de gacelas de Thomson. De acuerdo, este último no es real.

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. En este caso, se usa una solución de búsqueda de Salesforce personalizada para la base de conocimientos con el fin de animar a una comunidad de corredores. Desea saber qué zapatillas comprar para practicar la carrera por montaña (su última gran pasión además de este módulo de Trailhead). 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.

Ejemplo de escritura anticipada

¡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. Proporcionaremos 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? Pues bien, también tenemos una solución para esto. Presentamos la búsqueda federada de Salesforce. Es un nuevo método para que los usuarios puedan buscar elementos almacenados fuera de Salesforce. Y la mejor parte es que todo el proceso sigue teniendo lugar en Salesforce Classic, Salesforce Console o Lightning Experience. Digamos que esta es la guinda del pastel.

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, explicaremos cómo usar los protocolos para enviar consultas SOSL y SOQL. ¡Los entusiastas de las búsquedas son incansables!

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. Sería como escribir una carta de amor y dejarla en el escritorio. Suspiro. Una pérdida de tiempo.

Al igual que ocurre en cualquier grupo de amigos, algunos protocolos se llevan mejor con algunas 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. Pero esto puede esperar. ¡Ahora tiene que superar una prueba!