Форматы файлов индекса Zend_Search_Lucene являются совместимыми с Lucene версии 1.4 и выше.
Подробное описание этого формата можно прочитать здесь: http://lucene.apache.org/java/docs/fileformats.html.
После создания индекса директория для индекса будет содержать несколько файлов:
файл segments
является списком сегментов индекса.
файлы *.cfs
содержат сегменты индекса.
Внимание! Оптимизированный индекс всегда имеет только один сегмент.
файл deletable
является списком файлов,
которые больше не используются индексом, но которые нельзя было удалить.
Приведенный ниже листинг программы на Java представляет собой пример того, как индексировать файл, используя Java Lucene:
/** * Создание индекса: */ 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);