Les formats des fichiers d'index de Zend_Search_Lucene sont
compatibles avec la version de Lucene Java 1.4 ou plus.
Une description détaillée de ce format est disponible ici: http://lucene.apache.org/java/2_3_0/fileformats.html [18].
Après la création de l'index, le répertoire d'index contiendra plusieurs fichiers:
-
le fichier des
segmentsest une liste des segments de l'index. -
Les fichiers
*.cfscontiennent les segments de l'index. Notez qu'un index optimisé a toujours un seul segment. -
Les fichiers
effaçablessont des fichiers qui ne sont plus utilisés par l'index, mais qui n'ont pas pu être supprimés.
Le programme Java ci-après montre comment indexer un fichier en utilisant Java Lucene :
/**
* Index creation:
*/
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.document.*;
import java.io.*
...
IndexWriter indexWriter = new IndexWriter("/data/my_index",
new SimpleAnalyzer(), true);
...
String filename = "/path/to/file-to-index.txt"
File f = new File(filename);
Document doc = new Document();
doc.add(Field.Text("path", filename));
doc.add(Field.Keyword("modified",DateField.timeToString(f.lastModified())));
doc.add(Field.Text("author", "unknown"));
FileInputStream is = new FileInputStream(f);
Reader reader = new BufferedReader(new InputStreamReader(is));
doc.add(Field.Text("contents", reader));
indexWriter.addDocument(doc);