Les fichiers pour les champs (fields) :
- FieldsInfo : .fnm, contient les informations sur les champs : le nombre de champs, pour chaque champs, son nom et si il est indexé ou pas. Les champs sont numéroté par leur ordre dans ce fichier : le premier a le numéro 0, le deuxième à le numéro 1 etc ....
- Stored fields. field index (fdx) et Field data (fdt). FieldIndex (fdx) contient pour chaque documents la position dans le fichier fielddata du champs d'un document. Dans le fichier Field data, pour chaque document, les données du champs. (soit les termes ....)
Le dictionnaire de termes, il se divise en 2 fichiers :
- Terme info(tis). Il contient la liste des termes rangé dans l'ordre alphabétique. On peut voir que le format du terme est assez spécial : pour économiser de la place, on note le nombre de lettre de début que notre mot à en commun avec le terme précédent : par exemple champagne puis champignon : le nombre est 5 et le string est ignon correspondant au nombre de lettre. Fields number correspond au numéro du champs auquel appartient le terme (référence sur le fichier .fdt) DocFreq contient le nombre de document contenant ce terme.
- terme info index (tii)
D'autre fichiers d'information :
- Fichiers de fréquence (.frq).
- Fichier de position (.prx).
- Facteur de normalisation (.f[num] ) : pour chaque champs de chaque document, il contient un facteur pour "booster" les résultat.
- Fichier destruction (.del) (optionnel).
Nous somme libre d'étudier le format de fichier de Lucene qui est décrit plus en détail sur le site officiel. Libre à nous d'améliorer ce format ou encore de le réutiliser pour des implémentations de Lucene sur d'autre platforme.
Sun Seng Tan
2004-02-28