On Tue, Nov 02, 2004 at 11:08:45PM -0300, Alejandro Barros wrote: Alejandro,
> Estoy buscando alguna herramienta para indexar (keywords) un archivo de texto > (cada registro tiene dos campos número de registro y texto) y luego realizar > búsquedas eficientes en el, alguna recomendación? Hay miles. Una primera idea seria usar tecnicas de fuerza bruta como grep, o agrep + glimpse. Esto es mucho mas eficiente de lo que uno cree. A menos que tengas muchos MBs de datos, te lo recomiendo por lo barato. Si realmente quieres un indice (cosa que tendrias que evaluar antes de perder el tiempo haciendo), tienes las sugerencias de Cristian Gutierrez. Si usas algun software con interfaz SQL puedes levantar tu indice rapidamente (creas una tabla, importas los datos, creas los indices, listo; tiempo total, cinco minutos). Si quieres algo ad-hoc, puede hacerse con bastante sencillez usando BerkeleyDB, o mira perltie(3) Finalmente dejame indicar que en realidad necesitas definir de antemano que clase de busquedas quieres realizar. 1 Busquedas aproximadas 2 Busquedas por prefijos 3 Busquedas por substrings arbitrarios 4 Busquedas exactas Para 1 necesitas algo que haga busquedas "con errores", como agrep o nrgrep (este ultimo es muy cool IMHO). Para 2 puedes usar la BD SQL, o BerkeleyDB o perltie. Para 3 necesitas algo mas elaborado como un indice por trigramas, o una representacion de sufijos. O bien usa grep. Para 4 te sirve cualquier cosa. -- Alvaro Herrera (<alvherre[a]dcc.uchile.cl>) "La rebeldía es la virtud original del hombre" (Arthur Schopenhauer)

