# Agir avec Lucene Java

## Formats de fichier

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: La version du format de fichier supporté actuellement est la 2.3 (depuis Zend Framework 1.6). .

## Répertoire Index

Après la création de l'index, le répertoire d'index contiendra plusieurs fichiers:

- le fichier des `segments` est une liste des segments de l'index.

- Les fichiers `*.cfs` contiennent les segments de l'index. Notez qu'un index optimisé a toujours un seul segment.

- Les fichiers `effaçables` sont des fichiers qui ne sont plus utilisés par l'index, mais qui n'ont pas pu être supprimés.

## Code source Java

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);