Skip to main content

Crear búsquedas para casos de uso comunes

Objetivos de aprendizaje

Después de completar esta unidad, podrá:

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

Trabajar en Cloud Kicks

Supongamos que es el nuevo desarrollador estrella de la increíble compañía Cloud Kicks. Esta compañía fabrica zapatillas personalizadas ultracómodas, elegantes y ecológicas que son todo un éxito tanto entre corredores profesionales como amantes de la fiesta.

Se le ha asignado la tarea de crear una base de conocimientos en línea 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.

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. Ha iniciado varias campañas de las que ha 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 escribe 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 correo electrónico 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 vídeos, artículos, preguntas y archivos 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 en línea 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 existe 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 la unidad anterior).

Al examinar los casos de uso comunes incluidos anteriormente en este módulo, es posible que haya observado algunas banderas rojas sobre 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 (correo electrónico 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.
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