El proceso de indexación

Introducción

La indexación es un proceso lento y costoso, pero sólo debe ejecutarse en el momento de crear el índice invertido, aunque es muy importante actualizarlo cuando haya modificaciones.

La indexación consta de los siguientes pasos:

¿Qué se suele indexar?

¿Qué información se suele indexar? Podemos indexar las palabras, su posición relativa dentro del documento, información de relevancia (si está en negrita, si es un título, etc.), e información sobre a qué otros documentos enlaza.

Imagen de un índice invertido

También se suele guardar una breve descripción de cada página: Título, tamaño, peso, fecha, principales palabras o resumen, etc. Hay que tener en cuenta que si el resumen ocupase 500 bytes y tuviésemos cien millones de páginas, sólo esto nos ocuparía 50 Gb.

Se suele estimar que el índice suele ocupar un 30% del texto indexado. Para 100 millones de páginas de 8Kb. tendríamos un índice de 240Gb., aunque con compresión lo podemos reducir hasta un 10%.

Las búsquedas pueden ser directamente de palabras en el índice, literales o de proximidas (hay que guardar más información en el índice: Posición relativa de las palabras dentro del documento), palabras con comodines o con errores comunes (hay que buscar secuencialmente en el índice).

Índices distribuidos

Podemos tener dos tipos de índices, respecto a su gestión:

Arquitectura

En una arquitectura distribuida, se suelen tener los servidores de consultas y un broker de consultas que se encargará de:

Si dividimos la colección de documentos entre los servidores y cada colección se gestiona independientemente, tendríamos lo que se llama un metabuscador.

Pero si se decide centralizar la gestión, tenemos varias alternativas:

Para los buscadores modernos es mejor la opción de distribución aleatoria de los documentos, porque se evita así la selección de colecciones relevantes, y la combinación de resultados es trivial. Además, hace buen uso de los recursos y tiene tolerancia a fallos. Por contra, los cuellos de botella están en el broker y en la red que comunica los servidores.

Ultima modificación: 20 de abril de 2006 por davidf@di.uc3m.es

Páginas del WIKI