IndexaciÓn

 

En la construcción de un sistema de Recuperación de información, luego de haber recolectado los documentos, y ser estos procesados, la mayoría de modelos para esta clase de sistemas (tales como el vectorial o booleano) necesitan saber, para cada término, en que documentos aparece.  Lo anterior permite tras haber procesado la consulta poder asociar los documentos relevantes a esta para ser devueltos al usuario.
Para  lograr tener la información de que documentos tienen que términos necesario en el procesamiento del sistema de RI, se construye un índice que almacene el término y los documentos en que este aparece. La creación del índice es la segunda gran etapa para la construcción de un sistema de RI.
Debido al importante papel que juegan los índices, deben ser diseñados para optimizar la velocidad y rendimiento en la búsqueda de documentos relevantes. En su diseño también se deben tomar en cuenta factores como [3]:

  • El espacio necesario para almacenarlo: La considerable cantidad de información manejada en la Web hace que un índice llegue a consumir gran cantidad de espacio por lo que se debe tener suficiente espacio disponible almacenarlo teniendo en cuenta su futuro crecimiento.
  • La técnica utilizada para almacenarlo: Debido al tamaño que puede llegar a alcanzar el índice, técnicas cómo la compresión deben ser tomadas en consideración. Por otra parte los índices juegan un papel importe por lo que sería ideal que su completo almacenamiento en memoria principal, sin embargo gracias a su tamaño esto es muy difícil de lograr. En consecuencia se deben también se deben tener técnicas para alternar entre memoria principal y secundaría, tanto en el momento de su creación como al momento de ejecución.    
  • Velocidad de búsqueda: Cuanto tiempo le tomará al índice encontrar un término es un factor clave para el buen desempeño del sistema en general.
  • Tiempo de actualización: Diseñar el índice de tal manera que agregar, actualizar o remover información se realice de manera óptima pero sin que se vea afectado el tiempo de búsqueda.
  • Facilidad de mantenimiento: La facilidad con que el índice es mantenido a través del tiempo.
  • Tolerancia a fallos: Esto es cuan fiable puede ser el índice. El manejo de corrupción del índice, o fallos en el hardware deben ser factores a tomar en cuenta.

Cómo se puede inferir factores anteriores, el hardware en que correrá el índice juega un papel importante en su diseño, por lo que determinará en gran medida como este es construido. Tomando en cuenta este hecho, el índice como estructura de datos, puede ser construido de diversidad de maneras, algunas de las comunes son: Índices invertidos, arreglo de sufijos, índices distribuidos, índices dinámicos, en otros.