<?xml version="1.0" encoding="UTF-8"?>
<!-- Reviewed: no -->
<!-- EN-Revision: 24249 -->
<sect1 id="zend.search.lucene.java-lucene">
    <title>Java Lucene との相互運用</title>

    <sect2 id="zend.search.lucene.index-creation.file-formats">
        <title>ファイルフォーマット</title>
        <para>
          <classname>Zend_Search_Lucene</classname> のインデックスファイルのフォーマットは、
          Lucene バージョン 1.4 以降のフォーマットとバイナリ互換性があります。
        </para>

        <para>
          このファイルフォーマットについての詳細な説明は
          <ulink url="http://lucene.apache.org/java/2_3_0/fileformats.html"/>
          にあります。
          <footnote><para>現在 (Zend Framework 1.6 以降) サポートしている Lucene
          インデックスファイルフォーマットのバージョンは 2.1 です</para></footnote>。
        </para>
    </sect2>

    <sect2 id="zend.search.lucene.index-creation.index-directory">
        <title>インデックスディレクトリ</title>

        <para>
        インデックスを作成すると、
        インデックスディレクトリにはいくつかのファイルが出来上がります。
        </para>

        <itemizedlist>
            <listitem>
                <para>
                <filename>segments</filename> ファイルはインデックスセグメントの一覧です。
                </para>
            </listitem>
            <listitem>
                <para>
                <filename>*.cfs</filename> ファイルにはインデックスセグメントが含まれます。
                注意! 最適化されたインデックスは常にひとつのセグメントだけになります。
                </para>
            </listitem>
            <listitem>
                <para>
                <filename>deletable</filename> ファイルは、
                もはやインデックスからは使用されていないけれども削除できないファイルの一覧です。
                </para>
            </listitem>
        </itemizedlist>
    </sect2>

    <sect2 id="zend.search.lucene.java-lucene.source-code">
        <title>Java のソースコード</title>
        <para>
            以下の Java プログラムリストは、Java Lucene
            を使用してファイルのインデックスを作成する方法を示す例です。
        </para>

        <programlisting language="java"><![CDATA[
/**
* インデックスの作成
*/
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:
-->
