Comisión Nacional de los Mercados y la Competencia
Indexamos datos remotos en Drupal y creamos un buscador web con Search API Solr
Portal web de la Comisión Nacional de los Mercados y la Competencia
Objetivo
La Comisión Nacional de los Mercados y la Competencia, es el organismo público encargado de preservar, garantizar y promover la existencia de una competencia efectiva en los mercados en el ámbito nacional. A través de su página web muestran la información a los usuarios y permiten hacer búsquedas complejas del contenido.
Características
Podemos destacar que es un proyecto en Drupal 8 que hace un uso extensivo del módulo de Search API Solr para buscar contenidos en una estructura de datos compleja y relacionada.
La interfaz de búsqueda es sencilla, simplemente buscamos palabras o cadenas de texto y el buscador se encarga de mostrar los resultados más relevantes teniendo en cuenta el contenido y sus relaciones. La relevancia viene dada, entre otras condiciones, por unas reglas internas que permiten asignar distintas puntuaciones (boosts) a los resultados basándose en los términos buscados y los términos indexados.
Desarrollo
Las tareas más destacadas del proyecto involucran el buscador. Durante este proyecto se trabaja con los módulos de Drupal
- Uso extensivo de Search API y Search API Solr, así como distintos módulos que integran con estos últimos. Por ejemplo, las búsquedas que realizamos también se realizan en documentos adjuntados a los contenidos.
- Integración con API externa para la indexación del contenido.
- Procesadores personalizados para la alteración de los datos durante el indexado y la búsqueda.
- Extensión del backend de Search API Solr para poder alterar las consultas "al vuelo" y ofrecer resultados más precisos.
La búsqueda permite encontrar cadenas, números, usar filtros avanzados y restringir los resultados a fechas concretas. Pequeñas cadenas de texto pueden dar lugar a un gran número de resultados, que el buscador intentará ordenar aplicando distintas reglas.
Resultado
Esta web fue desarrollada en una etapa temprana de Search API (Drupal 8) lo que implicó un esfuerzo añadido para solventar las incidencias del módulo.