Extensibilité

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: http://lucene.apache.org/java/2_3_0/fileformats.html [1] .

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 :

  1. /**
  2. * Index creation:
  3. */
  4. import org.apache.lucene.index.IndexWriter;
  5. import org.apache.lucene.document.*;
  6.  
  7. import java.io.*
  8.  
  9. ...
  10.  
  11. IndexWriter indexWriter = new IndexWriter("/data/my_index",
  12.                                           new SimpleAnalyzer(), true);
  13.  
  14. ...
  15.  
  16. String filename = "/path/to/file-to-index.txt"
  17. File f = new File(filename);
  18.  
  19. Document doc = new Document();
  20. doc.add(Field.Text("path", filename));
  21. doc.add(Field.Keyword("modified",DateField.timeToString(f.lastModified())));
  22. doc.add(Field.Text("author", "unknown"));
  23. Reader reader = new BufferedReader(new InputStreamReader(is));
  24. doc.add(Field.Text("contents", reader));
  25.  
  26. indexWriter.addDocument(doc);
[1] La version du format de fichier supporté actuellement est la 2.3 (depuis Zend Framework 1.6).

Extensibilité