Cómo configurar la búsqueda por facetas para Drupal 8 (y 9): un sencillo tutorial paso a paso

Publicado: 2020-11-18

La búsqueda por facetas ofrece a los usuarios una experiencia de búsqueda superior al mostrar filtros en sus resultados de búsqueda. Es particularmente útil para sitios web que tienen grandes catálogos y listados. Una vez que el usuario escribe su consulta de búsqueda, se le presentará una lista de opciones de filtro relevantes para limitar aún más su búsqueda. Estos elementos filtrantes son facetas.

Anteriormente, Facet API en Drupal 7, el módulo Facet en Drupal 8 habilita su sitio web con capacidades de búsqueda por facetas. ¡Facets también es compatible con Drupal 9! Veamos cómo configurar e implementar la búsqueda por facetas con el propio servidor de búsqueda de Drupal, Search API.

Facetas de búsqueda

¿Qué es la búsqueda por facetas?

Si sus usuarios tienen dificultades para ver lo que están buscando incluso después de ingresar su consulta de búsqueda, seguramente se sentirán frustrados. La búsqueda por facetas proporciona a los usuarios varios filtros al mismo tiempo para los distintos atributos del contenido. Las facetas proporcionadas se basan en la consulta de búsqueda que ha realizado el usuario. Las facetas también mostrarán el número de resultados coincidentes (generalmente entre corchetes) junto a él. Echemos un vistazo a la siguiente captura de pantalla para comprender mejor las facetas:

Módulo de facetas para Drupal 8

En uno de nuestros proyectos recientes de Drupal 8, una búsqueda rápida de Casas en Columbia en este sitio web le presenta facetas como Comunidades, Ofertas especiales, Mudanzas rápidas y más. También verá el recuento de los resultados junto a cada faceta. Por lo tanto, se envía una consulta con la palabra clave "Columbia" al servidor de búsqueda para recuperar las categorías ya configuradas e indexadas (Comunidades, Ofertas especiales, etc.)

Instalación del módulo de facetas para Drupal 8

Como se discutió anteriormente, implementaremos la búsqueda por facetas utilizando el módulo de API de búsqueda de Drupal.

Paso 1: Habilitación de los módulos

Instale y habilite estos módulos
• El módulo de facetas
• Módulo de API de búsqueda

Paso 2: crear tipos de contenido

Cree el contenido que le gustaría incluir en la búsqueda por facetas agregando tipos de contenido como se muestra a continuación. También puede utilizar los tipos de contenido predeterminados proporcionados por Drupal.

Crear tipos de contenido
Paso 2: crear tipos de contenido


Paso 3: configurar el servidor de búsqueda

Vaya a Configuración -> Búsqueda y metadatos -> API de búsqueda desde la interfaz de administración para configurar su servidor de búsqueda. Dé un nombre a su servidor de búsqueda (aquí - servidor de datos).

Configurar el servidor de búsqueda
Paso 3: configurar el servidor de búsqueda

Paso 4: configurar el índice de búsqueda

A continuación, configure el índice de búsqueda para mejorar el rendimiento de la búsqueda. Vaya a Configuración -> Búsqueda y metadatos -> API de búsqueda -> Índice -> índice_de_datos .

Configurar el índice de búsqueda

Paso 4: configurar el índice de búsqueda

Dé un nombre a su índice y luego seleccione Contenido como sus fuentes de datos, ya que aquí indexaremos las entidades de contenido.
Luego puede pasar a la siguiente sección: Configuración de la fuente de datos (aquí, Contenido). Aquí puede elegir seleccionar todos los paquetes o solo seleccionar algunos de la lista a continuación para indexar.
A continuación, seleccione su servidor que ya había creado (aquí, servidor de datos). Seleccione la opción " Indexar elementos inmediatamente " para comenzar el proceso de indexación. Haga clic en Guardar.

Configurar la fuente de datos

Configurar la fuente de datos


Paso 5: agregar campos para indexar

A continuación, debemos agregar los campos que se indexarán. Vaya a Configuración -> Búsqueda y metadatos -> API de búsqueda -> índice de datos y seleccione la pestaña Campos . Haga clic en el botón Agregar campos para crear campos de acuerdo con sus requisitos.

Paso 5: agregar campos para indexar

Paso 5: agregar campos para indexar


Paso 6: indexación del contenido

En la misma ubicación, haga clic en la pestaña Ver para iniciar el proceso de indexación de su contenido. En la sección Comenzar a indexar ahora, haga clic en el botón Indexar ahora . A continuación, le mostrará una barra de progreso con el estado de la cantidad de elementos que se han indexado.

Facetas de búsqueda

Paso 6: indexar el contenido

Paso 7: crear una vista

Ahora crearemos una vista para los datos que deben indexarse ​​y mostrarse a sus usuarios. Vaya a Estructura -> Vistas -> Agregar vista .

Crear una vista

Paso 7: crear una vista

Asigne un nombre a la vista.
En la lista desplegable Ver configuración, seleccione el índice que ha creado en el Paso 4.
Cree una página para sus resultados de búsqueda haciendo clic en la casilla de verificación Crear una página en la pestaña Configuración de página. Dale un nombre y una ruta para el mismo.
En Elementos para mostrar , seleccione 0 si desea mostrar todos los resultados en una página. De lo contrario, seleccione una serie de resultados para mostrar.
En la configuración de visualización de página, puede seleccionar el formato en el que desea mostrar sus resultados: tabla, cuadrícula, lista HTML o lista sin formato. Hemos seleccionado la lista sin formato aquí. Haga clic en Guardar.

Paso 8: agregar campos a la vista

Aquí agregaremos campos que hemos indexado anteriormente a la Vista.
Vaya a Vistas, haga clic en el botón Agregar junto a la sección Campos. Seleccione los campos, haga clic en Agregar y configurar.
En Configuración de procesamiento, seleccione la casilla de verificación Enlace a contenido para que se pueda hacer clic en los resultados que se muestran.
Clic en Guardar.

Agregar campos a la vista

Paso 8: agregar campos a la vista


Paso 9: configurar las facetas

Ahora comencemos a configurar y habilitar las facetas. Vaya a Configuración -> Búsqueda y metadatos -> Facetas

Haga clic en el botón Agregar faceta.

Configurar las facetas

Paso 9: configurar las facetas

Seleccione la fuente de faceta: esta será la vista que creó anteriormente.
Seleccione el campo: esto mostrará los campos que había agregado para indexar en el Paso 5.
Dale un nombre a la faceta.
Haga clic en Guardar.

A continuación, verá más opciones de configuración para mostrar las facetas (como se muestra en la imagen de abajo). Los widgets enumerarán una serie de opciones como Lista de enlaces, matriz, menú desplegable, etc. Puede elegir lo que mejor se adapte a su sitio web.
Seleccione "Transformar ID de entidad en etiqueta" para evitar mostrar el nombre de la máquina del tipo de contenido.
Haga clic en Guardar.

Facetas de búsqueda
Configurar las facetas

Paso 10: Colocación de los bloques de facetas en las regiones de página elegidas

A continuación, coloque las facetas que creó como bloques en una región de página de su elección.
Vaya a Estructura -> Diseño de bloque .
Seleccione la región de la página donde le gustaría colocar el bloque que contiene las Facetas.
Aquí, estamos seleccionando la barra lateral . Haga clic en el botón Colocar bloque junto a la barra lateral.
En el siguiente cuadro de diálogo, busque el nombre de la faceta y haga clic en Colocar bloque.

Colocar los bloques de facetas en las regiones de página elegidas

Paso 10: Colocación de los bloques de facetas en las regiones de página elegidas


En la sección Configurar bloque, mencione la ruta de la página de búsqueda que había creado anteriormente. Aquí, " búsqueda de sitio " es nuestra página que hemos creado.
Asigne un nombre para mostrar para su bloque y seleccione la casilla de verificación Mostrar título si desea que se muestre el nombre del bloque (aquí - Escriba).
Haga clic en Guardar bloque .

El resultado

¡Y así, su página de búsqueda facetada y su funcionalidad están listas! Observe la faceta denominada Tipo (nombre para mostrar) que tiene la página básica y el artículo enumerados como tipos de contenido para filtrar.

Resultado: la página de búsqueda por facetas

Resultado: la página de búsqueda por facetas