Drupal Search API

En nuestra búsqueda de una internacionalización de proyectos sencillas habíamos terminado decidiendo utilizar entity translation. Una vez todo preparado hemos empezado a configurar el módulo ApacheSolr para la búsqueda y de repente nos hemos dado cuenta de que este mecanismo de traducción no encaja nada bien son la integración con Solr ya que un mismo nodo para un mismo campo tiene diferentes valores en función del idioma.

La solución es Search Api. Esta serie de módulos abstrae la capacidad de búsqueda y permite utilizar diferentes backends para la búsqueda y escribir funcionalidad de frontend reutilizable para cualquiera de los métodos. Para conseguir la funcionalidad que teníamos con ApacheSolr, hemos integrado con el Search Api Solr. Una vez vueltos al punto de partida, permitira la indexación de contenido traducido, consiste en habilitar el módulo Search Api Translation que crea un nuevo campo que es la renderización de la entidad en todos los idiomas y eso es lo que indexa. De esta manera podemos buscar en cualquier idioma.

Los pasos a seguir para configurar todo correctamente son:

  • ​Instalación y habilitación de todos los módulos involucrados: Search Api,  Search Api Translation y Search Api Solr

  • Configurar un nuevo servidor en admin/config/search/search_api que apunte al servidor donde esté el Solr

  • Hacer que el índice creado por defecto utilice el servidor creado

  • Configurar el solr para que utilice el schema.xml y solrconfig.xml que viene con el módulo

  • Activar el servidor y el índice

  • Configurar los campos a "indexar", aquí hay que marcar Multilingual full text (all languages via entity translation) que es el que nos permitrá la búsqueda en varios idiomas.

Hasta este punto, se ha conseguido que se indexen en SolR todas las entidades. Ahora para consuimir estos datos hay dos opciones:

Páginas de búsqueda

Es un módulo adicional Search Api Page que permite la creación de páginas y bloques de búsqueda. En admin/config/search/search_api/page se añade una nueva página y se elige el modo de búsqueda, los campos, el número de resultados e incluso el modo de visualización. Como añadido, crea un bloque que puedes añadir en cualquier página y que hace de cuadro de búsqueda que redirige a esta página.

 

Vistas

Aparece un nuevo tipo de vista que permite hacer vistas sobre el índice de solr permitiendo filtrar por cualquier campo indexado como si estuviera en local. La única pega es que no permite "mezclas" campos indexados con no indexados.

Crear una vista de todas las noticias con cierto contenido textual es algo tan sencillo como ir a la página de vistas, añadir una  y seleccionar, en lugar de contenido, el nombre del índice de búsqueda que hayamos creado, por defecto es "Default node index". En esta vista ya aparecen como campos y filtros los campos que se están indexando y se puede manejar a nuestro antojo.

 

Facetas

Para elegir las facetas a aplicar (se pueden elegir por índice) hay que ir al índice en concreto y buscar la pestaña "Facets". Toda casilla que marquemos, generará un bloque que habrá que incluir en la página de búsqueda o vista y permite realizar las búsquedas facetadas. 

Your rating: None Average: 5 (1 vote)
Groups: