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

Crear búsquedas para casos de uso comunes

Objetivos de aprendizaje

Después de completar esta unidad, podrá:

  • Comprender cómo funciona la búsqueda en un solo objeto.
  • Comprender cómo funciona la búsqueda en varios objetos.
  • Comprender cómo funciona la búsqueda en un objeto personalizado.

Introducción

Supongamos que es el nuevo desarrollador estrella de la increíble compañía Cloud Kicks. Aquí se fabrican zapatillas deportivas personalizadas ecológicas, supercómodas y con estilo. Además, se diseñan y personalizan especialmente para corredores de montaña. Estas zapatillas son todo un éxito entre los corredores profesionales y los valientes cuya idea de un domingo tranquilo es una carrera de montaña de 15 millas.

Se le ha asignado la tarea de crear una base de conocimientos online específica para clientes y un sitio web de productos interno para empleados de Cloud Kicks. Todos los datos proceden de la organización de Salesforce de Cloud Kicks. ¿No le parece la ocasión perfecta para crear una solución de búsqueda personalizada? En este escenario, veremos varios casos de uso comunes de las soluciones de búsqueda personalizadas. Explicaremos por qué debería usar un caso de uso concreto y, a continuación, incluiremos algunos ejemplos.

¡La meta es la búsqueda móvil!

Buscar en un único objeto

Cloud Kicks es una compañía emergente en expansión y el equipo de marketing está haciendo un gran esfuerzo por lograr la máxima difusión. Han iniciado varias campañas de las que han hecho un seguimiento en Salesforce. Los equipos de marketing y ventas han solicitado una solución para buscar solamente las campañas del sitio web de productos interno en las que están trabajando. Las búsquedas en un solo objeto son la mejor solución cuando los usuarios necesitan un método rápido para buscar en un solo tipo de registro, ya que no desean perder tiempo en descartar los registros que no son de utilidad para ellos.

Para buscar en un solo objeto con SOSL, solo tiene que especificar dicho objeto en la solicitud. Es así de sencillo.

FIND {term} RETURNING ObjectTypeName

En el ejemplo, term es lo que ingresa el usuario. ObjectTypeName limita los resultados de la búsqueda para incluir solamente el sObject especificado. Por lo tanto, si el usuario desea buscar la campaña de email de marzo de 2016, la solicitud debe ser similar a la siguiente:

FIND {march 2016 email} RETURNING Campaign

Nos detendremos en todas las acciones útiles que puede realizar con RETURNING y en cómo limitar la búsqueda para obtener los mejores resultados en la siguiente unidad.

Buscar en múltiples objetos

En Cloud Kicks están encantados con sus clientes. El objetivo es crear una ubicación centralizada para que los usuarios hagan preguntas y compartan información en el sitio web de la compañía. Aquí se podrían incluir distintos tipos de información, como videos, artículos, preguntas y PDF. Sin embargo, a los usuarios no les preocupa realmente el tipo de contenido presentado. Lo que desean es obtener la información que necesitan rápidamente. En este caso, la búsqueda en varios objetos ofrece una serie de ventajas. Puede buscar en varios objetos al mismo tiempo, ya que el tipo de registro no es de interés para el usuario. No obstante, también puede ocurrir que el usuario desee ver varios tipos de objetos en los resultados.

Por suerte, agregar otro objeto es muy sencillo en SOSL. Basta con agregar una lista separada por comas.

FIND {term} RETURNING ObjectTypeName1, ObjectTypeName2, ObjectTypeNameYouGetTheIdea

De vuelta a nuestro escenario, un cliente de Cloud Kicks pregunta si hay zapatillas fabricadas con materiales reciclados. Configure la búsqueda en la base de conocimientos online de modo que varios objetos coincidan con los términos devueltos en los resultados.

FIND {recycled materials} RETURNING Product2, ContentVersion, FeedItem

Recuerde además que si no especifica un objeto en el elemento RETURNING, este no se mostrará en los resultados.

Buscar en objetos personalizados

Salesforce incluye una gran cantidad de objetos estándar a disposición de los clientes. Sin embargo, dado que en Cloud Kicks lo que interesa son las zapatillas personalizadas, es lógico que también necesiten objetos personalizados. Por lo tanto, es de especial interés el objeto personalizado recién creado llamado “Merchandise” (Mercancía). Este objeto contiene información sobre el estilo, el Id., el color, los materiales, el nombre y el precio de todo aquello que Cloud Kicks tiene que ofrecer. Muchos empleados de Cloud Kicks necesitan acceder a esta información, lo que incluye al personal de asistencia, ventas y envío.

En el caso del sitio web de productos interno que está creando, va a agregar un cuadro de búsqueda que permita buscar solamente en el objeto personalizado Merchandise. No se aplica ningún método elaborado para especificar objetos personalizados en una búsqueda SOSL. Incluya el nombre del sObject, como en el caso de cualquier otro objeto estándar, y anexe el sufijo __c.

FIND {pink hi\-top} RETURNING Merchandise__c

SOQL

Ya hemos revisado algunos aspectos de SOSL, ¿pero cómo funciona SOQL? Pues bien, debe usar SOQL para las búsquedas en un solo objeto, cuando sabe en qué campos buscar, cuando el término de búsqueda es una coincidencia exacta con el campo (no una coincidencia parcial o no válida), cuando necesita acceder a los datos de un campo de número, fecha o casilla y cuando busca tan solo unos pocos resultados. (Para ver la lista completa de los casos en los que se debe usar SOQL, consulte el primer módulo).

Al examinar los casos de uso comunes incluidos anteriormente en este módulo, es posible que haya observado algunas marcas rojas para el uso de SOQL. Por ejemplo:

  • Búsqueda en un solo objeto. SOQL funciona cuando sabe en qué campo residen los datos. Dado que no hemos especificado el campo para march 2016 email (email de marzo de 2016), es preferible usar una búsqueda SOSL en lugar de SOQL. En general, si la consulta no especifica un campo de destino para la búsqueda, SOSL funciona correctamente.
  • Búsqueda en varios objetos. Puesto que solo puede recuperar datos de varios objetos relacionados entre sí, la búsqueda en múltiples objetos en SOQL es limitada. Dado que en nuestro escenario los objetos no están relacionados, SOSL es la solución.
  • Búsqueda en objetos personalizados. Como en el caso de la búsqueda en un solo objeto, la búsqueda en objetos personalizados con SOQL funciona correctamente. Sin embargo, no hemos especificado en qué campo residen los datos para nuestro término de búsqueda pink hi-top (abotinada rosa). Además, SOQL busca en la base de datos, pero no en el índice. Por lo tanto, supongamos que el registro incluye realmente pink sneaker hi-top (zapatilla abotinada rosa). En este caso, SOQL no podría devolver los resultados correctos.