36.8. 与 Java Lucene 的互操作性
36.8.1. 文件格式
Zend_Search_Lucene 的索引文件格式和 1.4 或更高版本的 Java Lucene 二进制兼容。
关于文件格式的更详细的描述在这里: Http://lucene.apache.org/java/docs/fileformats.HTML。 [9]
36.8.2. 索引目录
在创建了索引之后,索引目录中将包含下列文件:
segments文件是一个索引分段的清单。*.cfs文件包含索引分段。请注意!优化了的索引总是只有一个分段。deletable文件是一个不再被索引使用但是无法删除的文件清单。
36.8.3. Java 源代码
下面的 Java 程序提供了一个如何使用 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);
[9] 当前支持的 Lucene 索引文件格式版本是 v2.3(从ZF 1.6 版开始)。