Archivos de índices

From ABCD Wiki
Revision as of 11:19, 21 December 2013 by Guilda (talk | contribs)
Jump to: navigation, search

Los archivos de datos (mst y xrf) solo permiten la recuperación de registros en forma secuencial por número MFN. Como se requieren otras formas de acceso la información, por ejemplo, autores, países, materias, etc., es necesario contar con una estructura adicional que permita, dada una palabra clave o una fórmula de búsqueda, ubicar los registros que contienen los términos solicitados. Esta estructura es lo que bajo Cds/isis se denomina Listas Invertidas.

El archivo invertido de las estructuras CDS/Isis está formado en realidad por 6 archivos físicos, cinco de los cuales contienen los términos de búsqueda del diccionario (organizados como un árbol B*) y el sexto contiene la lista de apuntadores asociadas a cada término.

A fin de optimizar el almacenamiento en disco, se mantienen dos árboles B* por separado: uno para los términos de hasta 30 caracteres (almacenados en los archivos .N=01 y .L01) y otro para los términos de más de 30 y hasta 60 caracteres(almacenados en los archivos .N02 y .L02). El archivo .CNT contiene campos de control para ambos árboles B*). En cada archivo del árbol B* el archivo .N0x contiene los nodos del árbol y el archivo .L0x contiene las hojas. Los registros de las hojas apuntan al lugar donde se encuentran los apuntadores que contienen la información para localizar los registros (postings) en la base de datos. Este archivo se identifica con la extensión .IFP . La relación física entre estos archivos puede representarse de la siguiente manera:

centro

La relación física en los seis archivos que forman la lista invertida está dada por un apuntador, el cual representa la posición relativa del registro al que se está seńalando. Una dirección relativa es el número ordinal del registro en un determinado archivo (por ejemplo, el primer registro es el registro 1, el segundo es el registro 2, etc.). El archivo CNT apunta al archivo .N0x; el archivo .N0x apunta al L0x y el archivo .L0x apunta al .IFP. Dado que el .IFP es un archivo cuyos registros no tienen necesariamente la misma longitud, el apuntador de .L0x a .IFP tiene dos componentes: el número del bloque y el desplazamiento dentro del bloque, cada uno expresado como un entero.


Formato del archivo .IFP

El archivo .IFP contiene la lista de apuntadores (postings) para cada término del diccionario. Cada apuntador consta de 4 elementos para identificar el registro desde el cual se genera la clave:

   MFN    Mfn del registro
   TAG    Identificador del campo
   OCC    Número de ocurrencia del campo desde el cual se extrae la clave
   CNT    Número secuencial del término en el campo  

Cada término tendrá tantos apuntadores como campos lo hayan referido en la base de datos. La lista de apuntadores es almacenada en secuencia ascendente de MFN/TAG/OCC/CNT. Cuando se carga la lista invertida por un proceso de Generación completa cada lista está formada por uno o más segmentos adyacentes. Conforme se realizan actualizaciones, pueden irse creando segmentos adicionales cuando sea necesario agregar nuevos apuntadores. En este caso se crea un nuevo segmento vinculándolo a los otros segmentos de modo que se mantenga la secuencia MFN/TAG/OCC/SEQ.

Cada vez que ocurre una división de este tipo, los apuntadores del segmento donde debía insertarse el nuevo apuntador, son distribuídos equitativamente entre este segmento y el nuevo recién creado. Los nuevos segmentos son siempre creados al final del archivo.

Las claves de generan mediante según las especificaciones contenidas en un llamado Tabla de Extracción de Campos (.fst) el cual contiene especifica cómo se va a generar, para cada campo, los puntos de acceso a la base de datos.Existen 8 técnicas de indización diferentes para la obtención de las claves, de forma tal de satisfacer todos los requerimientos de recuperación de información a aplicar sobre una base de datos.

Las listas invertidas se actualizan normalmente en el procedimiento de ingreso de los datos. Sin embargo, existen situaciones de obligan a regenerar estos archivos (corrupción de índices, carga de grandes lotes de información en la base de datos, cambios en las estrategias de indización). Por ello,es necesario activar procesos especiales para el mantenimiento de los índices, para procesar toda la base de datos y construir nuevamente las listas invertidas.Este proceso se denomina Generación completa de la lista invertida y en forma esquemática consta de los siguientes pasos:

1. Generación del archivo de claves sin clasificar

En este primer paso se lee cada uno de los registros de la base de datos y se aplica sobre cada campo las técnicas de indización especificadas en la Tabla de Extracción de Campo (.fst). Como resultado de este proceso de generan dos archivos: .LN1 con los términos menores a iguales a 30 caracteres; y .LN2 con los términos mayores a 30 caracteres. Ambos archivos (.LN1 y .LN2) son archivos del tipo TXT por lo que pueden ser visualizado por un editor de textos.

Ejemplo del archivo .LN1 generado para los Mfn's 1-5 de la base de datos CDS

      1 24 1 1 TECHNIQUES
      1 24 1 8 INDIVIDUAL
      1 24 1 9 PLANTS
      2 70 1 1 BOSIAN, G.
      2 24 1 2 CONTROLLED
      2 24 1 3 CLIMATE
      2 24 1 6 PLANT
      2 24 1 7 CHAMBER
      2 24 1 10 INFLUENCE
      3 70 1 1 BOSIAN, G.
      3 24 1 1 CONTROL
      3 24 1 3 CONDITIONS
      3 24 1 6 PLANT
      3 24 1 7 CHAMBER
      3 24 1 8 FULLY
      3 24 1 9 AUTOMATIC
      3 24 1 10 REGULATION
      3 24 1 12 WIND
      3 24 1 13 VELOCITY
      3 24 1 16 RELATIVE
      3 24 1 17 HUMIDITY
      3 24 1 19 CONFORM
      3 24 1 22 FIELD
      3 24 1 23 CONDITIONS
      3 69 1 2 MOISTURE
      3 69 1 4 WIND
      3 69 1 6 ECOSYSTEMS
      4 70 1 2 WENT, F.W.
      4 24 1 2 ELECTRIC4 2
      4 1 3 HYGROMETER
      4 24 1 4 APPARATUS
      4 24 1 6 MEASURING
      4 24 1 7 WATER
      4 24 1 8 VAPOUR
      4 24 1 9 LOSS
      4 24 1 11 PLANTS
      4 24 1 14 FIELD
      4 69 1 3 MOISTURE
      5 70 1 1 GALE, J.
      5 24 1 1 ANTI
      5 24 1 5 RESEARCH
      5 24 1 6 TOOL
      5 24 1 9 STUDY
      5 24 1 12 EFFECTS
      5 24 1 14 WATER
      5 24 1 15 STRESS
      5 24 1 17 PLANT
      5 24 1 18 BEHAVIOUR

Ejemplo del archivo .LN2 generado para los Mfn's 1-5 de la base de datos CDS

      1 70 1 1 MAGALHAES, A.C.
      1 70 1 2 FRANCO, C.M.
      1 24 1 4 MEASUREMENT
      1 24 1 6 TRANSPIRATION
      1 69 1 1 PLANT PHYSIOLOGY
      1 69 1 2 PLANT TRANSPIRATION
      1 69 1 3 MEASUREMENT AND INSTRUMENTS
      2 24 1 12 ASSIMILATION
      2 24 1 14 TRANSPIRATION
      2 69 1 1 PLANT EVAPOTRANSPIRATION
      3 24 1 14 TEMPERATURE
      3 24 1 21 MICROCLIMATIC
      3 69 1 1 PLANT PHYSIOLOGY
      3 69 1 3 TEMPERATURE
      3 69 1 5 MEASUREMENT AND INSTRUMENTS
      4 70 1 1 GRIEVE, B.J.
      4 69 1 1 HYGROMETERS
      4 69 1 2 PLANT TRANSPIRATION
      4 69 1 4 WATER BALANCE
      5 70 1 2 POLJAKOFF-MAYBER, A.
      5 24 1 2 TRANSPIRANTS
      5 69 1 1 PLANT PHYSIOLOGY
      5 69 1 2 SOIL MOISTURE
      5 69 1 3 PLANT TRANSPIRATION
      5 69 1 4 EVAPOTRANSPIRATION
      5 69 1 5 MEASUREMENT AND INSTRUMENTS

Las primeras cuatro columnas contienen la información que dará orígen al apuntador del archivo .IFP. Se leen los valores de: MFN TAG OCC SEQ. La salida está ordenada por MFN ya que proviene de la lectura secuencial del archivo maestro.

2. Clasificación de las claves

Como la lista invertida se presenta clasificada por órden alfabético del claves, el segundo paso consiste en el ordenamiento de las claves alfabéticamente. Como resultado se obtienen los archivos .LK1 y .LK2 los cuales contiene las mismas claves que .LN1 y .LN2, solo que ordenadas ascendentemente por la clave.

Ejemplo del archivo .Lk1 generado para los Mfn's 1-5 de la base de datos CDS

      5 24 1 1 ANTI
      4 24 1 4 APPARATUS
      3 24 1 9 AUTOMATIC
      5 24 1 18 BEHAVIOUR
      2 70 1 1 BOSIAN, G.
      3 70 1 1 BOSIAN, G.
      2 24 1 7 CHAMBER
      3 24 1 7 CHAMBER
      2 24 1 3 CLIMATE
      3 24 1 3 CONDITIONS
      3 24 1 23 CONDITIONS
      3 24 1 19 CONFORM
      3 24 1 1 CONTROL
      2 24 1 2 CONTROLLED
      3 69 1 6 ECOSYSTEMS
      5 24 1 12 EFFECTS
      4 24 1 2 ELECTRIC
      3 24 1 22 FIELD
      4 24 1 14 FIELD
      3 24 1 8 FULLY
      5 70 1 1 GALE, J.
      3 24 1 17 HUMIDITY
      4 24 1 3 HYGROMETER
      1 24 1 8 INDIVIDUAL
      2 24 1 10 INFLUENCE
      4 24 1 9 LOSS
      4 24 1 6 MEASURING
      3 69 1 2 MOISTURE
      4 69 1 3 MOISTURE
      2 24 1 6 PLANT
      3 24 1 6 PLANT
      5 24 1 17 PLANT
      1 24 1 9 PLANTS
      4 24 1 11 PLANTS
      3 24 1 10 REGULATION
      3 24 1 16 RELATIVE
      5 24 1 5 RESEARCH
      5 24 1 15 STRESS
      5 24 1 9 STUDY
      1 24 1 1 TECHNIQUES
      5 24 1 6 TOOL
      4 24 1 8 VAPOUR
      3 24 1 13 VELOCITY
      4 24 1 7 WATER
      5 24 1 14 WATER
      4 70 1 2 WENT, F.W.
      3 24 1 12 WIND
      3 69 1 4 WIND

Ejemplo del archivo .LK2 generado para los Mfn's 1-5 de la base de datos CDS

      2 24 1 12 ASSIMILATION
      5 69 1 4 EVAPOTRANSPIRATION
      1 70 1 2 FRANCO, C.M.
      4 70 1 1 GRIEVE, B.J.
      4 69 1 1 HYGROMETERS
      1 70 1 1 MAGALHAES, A.C.
      1 24 1 4 MEASUREMENT
      1 69 1 3 MEASUREMENT AND INSTRUMENTS
      3 69 1 5 MEASUREMENT AND INSTRUMENTS
      5 69 1 5 MEASUREMENT AND INSTRUMENTS
      3 24 1 21 MICROCLIMATIC
      2 69 1 1 PLANT EVAPOTRANSPIRATION
      1 69 1 1 PLANT PHYSIOLOGY
      3 69 1 1 PLANT PHYSIOLOGY
      5 69 1 1 PLANT PHYSIOLOGY
      1 69 1 2 PLANT TRANSPIRATION
      4 69 1 2 PLANT TRANSPIRATION
      5 69 1 3 PLANT TRANSPIRATION
      5 70 1 2 POLJAKOFF-MAYBER, A.
      5 69 1 2 SOIL MOISTURE
      3 24 1 14 TEMPERATURE
      3 69 1 3 TEMPERATURE
      5 24 1 2 TRANSPIRANTS
      1 24 1 6 TRANSPIRATION
      2 24 1 14 TRANSPIRATION
      4 69 1 4 WATER BALANCE

Las primeras cuatro columnas contienen la información que dará orígen al apuntador del archivo .IFP. Se leen los valores de: MFN TAG OCC SEQ. La salida está ordenada por CLAVE.