Hace poco me surgió un temilla curioso: mi padre almacena una cantidad enorme de datos que va recopilando por ahí, y entre tanto archivo, pues uno se pierde, claro.
Total, me comentó de usar un buscador un tanto peculiar: en vez de mostrar sólo los resultados de la búsqueda, mostrar el contenido de cada archivo donde se ha encontrado un resultado.
Me puse a mirar y me acordé de una herramienta llamada htdig, un buscador con sus años a cuestas, muy eficiente, empaquetado para Debian, etc... pero no tenía muchas ganas de andar metiendo mano, y, aparte, andaba con las neuronas inquietas, así que me dije: por qué no hacerlo con python?
Rebuscando rebuscando, recordé que, hace eones, había una por ahí una librería para usar lucene, el motor de indexación para java, desde python.
Dejando de lado el hecho de la dependencia javera, el resultado me ha sorprendido: más de 2000 ficheros indexados en apenas unos segundos, y las búsquedas duran milisegundos.
Aparte, el uso de la librería en sí es muy facilillo: en unas líneas de código haces una búsqueda e iteras sobre los resultados.
Quizá el único problema es la falta de una documentación extensiva, puesto que los desarrolladores han preferido apoyarse en los ejemplos de código, si bien cubren gran cantidad de casos.
Misión cumplida, como quien dice, aunque me gustaría encontrar bindings de ferret para python, igual que los hay para ruby... por si alguien tiene curiosidad, que pruebe a buscar "ferret python", no podrá evitar una sonrisa.
¶