Zahoribo: mejorando el algoritmo de búsqueda

Manu Pijierro
4 min readJun 29, 2020

--

La versión 1.1.0 de Zahoribo trae novedades importantes. Por un lado hemos añadido nuevo contenido indexado con varios años más al histórico de boletines y, por otro lado, hemos mejorado el algoritmo de búsqueda haciendo que los resultados obtenidos sean mucho más precisos sin intervención del usuario.

Rapidez y precisión son características de Zahoribo

¿Quieres saber más?, sigue leyendo.

Casi 1.500.000 páginas más indexadas

Se han añadido aproximadamente 1.500.000 páginas más de contenido indexado en los últimos siete días. Los boletines y fechas añadidas han sido los siguientes:

  • BOE: Desde 01–01–2010 hasta el 31–12–2013.
  • BORME: Desde el 01–01–2010 hasta el 31–12–2013.
  • D.O.E.: Desde el 01–01–2010 hasta el 31–12–2011.
  • Boletín Provincia Badajoz: Desde 01–01–2010 al 31–12–2014.
  • Boletín Provincia Cáceres: Desde 01–01–2010 al 31–12–2011.

De esta manera queda normalizado el histórico de los boletines más importantes comenzando todos estos el 1 de Enero de 2010 hasta hoy. Pero esto no termina aquí, en los próximos días seguiremos añadiendo años al histórico.

Mejorando el algoritmo de búsqueda

Este ha sido un cambio importante por todo lo que implica a la hora de usar la plataforma. A partir de hoy Zahoribo se esfuerza en obtener resultados de búsqueda lo más exactos posibles. Ahora cuando el usuario realiza una búsqueda lo prioritario es encontrar exactamente lo que ha escrito, posteriormente cosas parecidas pero en el mismo orden y por último nos conformamos con que al menos existan las palabras buscadas. Lo explicamos a continuación.

¿Cómo funcionaba antes?

Hasta ayer, cuando un usuario realizaba una búsqueda sin utilizar ningún modificador de búsqueda avanzada, por ejemplo:

ayudas individuales

Zahoribo llevaba a cabo la opción de búsqueda menos estricta, es decir, buscaba páginas que tuvieran al menos las dos palabras, en cualquier orden y utilizando lexemas. Gracias a las característica de búsquedas por raíz (lexemas), equivaldría a buscar lo siguiente:

ayud individu

dejándose al usuario la opción de utilizar modificadores para encontrar resultados más precisos.

Esto hacía que, ante la misma fecha de publicación, pudiera aparecer una página que tuviera al principio la palabra ‘ayuda’ y al final la palabra ‘individual’ antes que una página que tuviera realmente ‘ayudas individuales’ en su contenido. La forma que tenía el usuario de mejorar este resultado pasaba porque leyera el manual de uso y aplicara los consejos 2 y 3 para buscar palabras y frases exactas

¿Cómo funciona ahora?

Tal y cómo hemos comentado, desde hoy Zahoribo se esfuerza en encontrar exactamente lo que ha buscado el usuario y se lo ofrece en primer lugar.

Siguiendo con el ejemplo anterior, si usuario buscara lo siguiente:

ayudas individuales

el algoritmo de búsqueda, internamente, puede llegar a realizar hasta tres búsquedas teniendo en cuenta un máximo de 1000 resultados :

  1. En primer lugar hace una búsqueda por frase y palabra exacta:

“=ayudas =individuales”

de manera que se buscan páginas con esas palabras escritas exactamente así (sin lexemas) y además tienen que estar en ese orden. Es decir, encontrar exactamente eso.

2. En segundo lugar, siempre que no se hayan alcanzado los anteriores 1000 resultados, hace una búsqueda por frase exacta:

“ayudas individuales”

de manera que ahora se buscan páginas con esas palabras escritas por su raíz (lexemas) “ayud individu” pero teniendo que existir al menos en ese orden.

3. Por último, y siempre que entre las dos búsquedas anteriores no se hayan alcanzado los 1000 resultados, se realiza una búsqueda ‘normal’:

ayudas individuales

que es la búsqueda menos estricta, es decir, se buscan páginas con esas palabras escritas por su raíz (lexemas) sin tener en cuenta el orden en el que aparecen. Es suficiente con que existan.

Es importante destacar que Zahoribo tomará el mando de la búsqueda siempre y cuando el usuario no use modificadores de búsqueda avanzada, búsquedas anidadas o agrupe resultados. En estos casos, será el usuario el que decida el tipo de búsqueda a realizar ayudándose de los modificadores disponibles.

En resumen: Zahoribo buscará primero exactamente las palabras buscadas, luego buscará aquello que se le parezca pero al menos esté en el mismo orden escrito y finalmente buscará páginas que contengan al menos las palabras buscadas.

Otras modificaciones

En esta versión 1.1.0. se han llevado a cabo otras modificaciones menores.

Quitada la forma de ordenar resultados por relevancia

Se ha quitado de los filtros la posibilidad de ordenar resultados por relevancia. El motivo es que no tenía mucho sentido esta funcionalidad en el conjunto de datos existente y el tipo de búsqueda realizadas y, además, tampoco quedaba claro para el usuario que era más relevante y que era menos relevante. El propio concepto de relevancia no es algo simple ni inmediato y serían necesarias muchas variables para proporcionar búsquedas con cierta relevancia, tal y como hace Google por ejemplo.

Quitado enlace ‘ver más’ en resultados concretos del Boletín Provincial de Badajoz

En la parte inferior de cada resultado de páginas individuales hay un enlace ‘ver más’ en el que al hacer clic se despliega el contenido de la página completo. El contenido del Boletín Provincial de Badajoz anterior al 5 de diciembre de 2019 no contiene archivos PDF’s con los anuncios y páginas individuales, sino que cada boletín diario era un único texto html que podían corresponderse con varias, decenas o centenares de páginas haciendo que mostrarse desplegado fuera inviable. Se ha sustituido el enlace ‘ver más’ por un enlace al boletín original.

Mejorado el resaltado de palabras en los resultados

El resaltado con fondo amarillo en los resultados de búsqueda se ha mejorado para las búsquedas sobre resultados de búsquedas anteriores. Antes solo se resaltaba la búsqueda actual. Ahora se resalta el contenido de todas las búsquedas que se vayan haciendo de manera recursiva.

Internamente, a nivel de programación y configuración de índices se han realizado muchos cambios pero esto será en otro artículo con una orientación más técnica.

De momento, esto es todo. Cualquier consideración, duda, sugerencias, corrección…será bienvenida.

¡Chimpún!

Bibliografía

--

--