Mejoras en SearchPedia: el buscador de la wikipedia
Se han realizado varias mejoras sobre el buscador de wikipedia.
La primera es que se ha mejorado considerablemente el tiempo del reconstrucción del índice. En concreto esta era la única carácterística que había defraudado cuando se desarrolló y mostró como hacer un buscador para la wikipedia. En aquella prueba me quejaba de que tardara casi 15 minutos en construir el índice.
Tras postear en el foro de sphinx y confirmarme allí que no era el tiempo esperado para esa operación, me dí cuenta de que los índices que tienen las tablas del mediawiki están optimizados para sus consultas pero no para las que queremos realizar al indizar los artículos.
Una vez optimizado eso, se reduce el tiempo de construcción a unos 5 minutos, algo mucho más lógico.
También se han corregido algunos errores en la paginación cuando las consultas contenían caracteres que necesitaban codificación (acentos y ñ).
Soporte para stemming
Como mejora principal, se ha realizado un cambio relevante en el motor de búsqueda. Se ha incluido el soporte de stemming para castellano en sphinx. A partir de ahora en el formulario del buscador se incluye un checkbox donde se indica si se quiere realizar una búsqueda con stemming o no.
Ahora el interfaz queda asi:
Ahora las búsquedas pueden ser ampliadas con resultados relacionados (y por supuesto relevantes) ya que el stemming (o lematización) hace que las palabras búscadas sean reducidas a su lexema.
Por ejemplo si realizamos la búsqueda electricidad sin stemming nos devolverá 11 artículos, pero si realizamos esa misma búsqueda electricidad con soporte de lematización obtendremos 117 resultados. Estos resultados adicionales incluyen términos como eléctrica, eléctrico y otras palabras que puedan ser reducidas al mismo lexema “electr”.
Aparte de no estar desechando resultados interesantes para la búsqueda se tiene la gran ventaja de que todas las búsquedas que se realicen sobre palabras que deriven el el mismo lexema devolverán exactamente los mismos resultados. Por ejemplo obtendremos lo mismo si consultamos electricidad, electrica o electrico
A disfrutar del buscador.


Enero 1st, 2008 at 1:02 am
Una última duda: ¿cómo puedo (yo) hacer algo similar? Es decir, que el stemming no sea obligatorio… no sé.