Buscadores en python

nocreyente nocreyentes en terra.es
Lun Ene 1 15:28:39 CET 2007


Buenas:

Ayer como me aburria mucho, me puse a mirar modulos para hacer busquedas 
en python. Vi esta pagina con un pequeño resumen de lo que existe para 
hacer "full text search" http://trac.edgewall.org/wiki/AdvancedSearch

El caso, es que de usar uno de esos no sabria por cual optar:
- Xapian parece una buena opcion
- PyLucene creo que tambien
- Hype tiene la web caida ¿ha desaparecido?
- La opcion de una capa intermedia resulta de lo más tentadora:
  - merquery tiene una pinta estupenda, pero se ha vuelto demasiado 
dependiente de django (soy mas de Turbogears)
  - pyndexter parece una opción más correcta para mis necesidades. Pero 
el proyecto lleva un tiempo parado (sin estar completo). La parte más 
completa depende de Hype :-(
- La opcion de usar directamente la BBDD no me gusta, demasiado 
dependiente de una tecnologia determinada. Quizá como extension de 
SQLObject o SQLAlchemy estaría mejor. ¿Hay algo de eso? Esto si que 
seria ideal.

El caso es que lo que más me esta tirando es extender SQLObject o 
SQLAlchemy para que sea transparente y comodo. De todas formas, quiero 
un buscador para las cosas que se almacenan en BBDD sin tener que hacer 
tablas con indices precalculados (quiero aplicar eso del DRY). Lo cual 
me hace pensar en otra via de accion: buscar sistemas OLAP. Y tal como 
se dijo en su dia 
http://listas.aditel.org/archivos/python-es/2005-March/012578.html 
pytables puede ser una buena opcion para el indice. De todas formas; 
solo hace falta un parser, un steamer y mucho arte para hacer los 
indices para las busqueda de texto.

En definitiva:
¿Existe algun modulo para convertir un modelo de datos de SQLAlchemy o 
SQLObject en un sistema Olap?
De no existir, ¿que literatura sobre Olap me recomendais para ponerme 
las pilas sobre la teoria que hace falta? Ando un poco verde con eso de 
los cubos, funciones de pivotaje, ...

Un saludo y gracias por adelantado:

Javi




Más información sobre la lista de distribución Python-es