| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Reviewed: no -->
- <sect1 id="zend.search.lucene.java-lucene">
- <title>Interoperating with Java Lucene</title>
- <sect2 id="zend.search.lucene.index-creation.file-formats">
- <title>File Formats</title>
- <para>
- <classname>Zend_Search_Lucene</classname> index file formats are binary compatible with
- Java Lucene version 1.4 and greater.
- </para>
- <para>
- A detailed description of this format is available here:
- <ulink url="http://lucene.apache.org/java/2_3_0/fileformats.html"/>
- <footnote>
- <para>
- The currently supported Lucene index file format version is 2.3 (starting from
- Zend Framework 1.6).
- </para>
- </footnote>.
- </para>
- </sect2>
- <sect2 id="zend.search.lucene.index-creation.index-directory">
- <title>Index Directory</title>
- <para>
- After index creation, the index directory will contain several files:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- The <filename>segments</filename> file is a list of index segments.
- </para>
- </listitem>
- <listitem>
- <para>
- The <filename>*.cfs</filename> files contain index segments.
- Note! An optimized index always has only one segment.
- </para>
- </listitem>
- <listitem>
- <para>
- The <filename>deletable</filename> file is a list of files that are no longer
- used by the index, but which could not be deleted.
- </para>
- </listitem>
- </itemizedlist>
- </sect2>
- <sect2 id="zend.search.lucene.java-lucene.source-code">
- <title>Java Source Code</title>
- <para>
- The Java program listing below provides an example of how to index a file
- using Java Lucene:
- </para>
- <programlisting language="java"><![CDATA[
- /**
- * 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);
- ]]></programlisting>
- </sect2>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|