1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="zend.search.lucene.java-lucene">
<title>Agir avec Lucene Java</title>
<sect2 id="zend.search.lucene.index-creation.file-formats">
<title>Formats de fichier</title>
<para>
Les formats des fichiers d'index de <classname>Zend_Search_Lucene</classname> sont
compatibles avec la version de Lucene Java 1.4 ou plus.
</para>
<para>
Une description détaillée de ce format est disponible ici: <ulink
url="http://lucene.apache.org/java/2_3_0/fileformats.html"/>
<footnote>
<para>
La version du format de fichier supporté actuellement est la 2.3 (depuis
Zend Framework 1.6).
</para>
</footnote>.
</para>
</sect2>
<sect2 id="zend.search.lucene.index-creation.index-directory">
<title>Répertoire Index</title>
<para>
Après la création de l'index, le répertoire d'index contiendra plusieurs
fichiers:
</para>
<itemizedlist>
<listitem>
<para>
le fichier des <filename>segments</filename> est une liste des segments de
l'index.
</para>
</listitem>
<listitem>
<para>
Les fichiers <filename>*.cfs</filename> contiennent les segments de
l'index. Notez qu'un index optimisé a toujours un seul segment.
</para>
</listitem>
<listitem>
<para>
Les fichiers <filename>effaçables</filename> sont des fichiers qui ne sont
plus utilisés par l'index, mais qui n'ont pas pu être supprimés.
</para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="zend.search.lucene.java-lucene.source-code">
<title>Code source Java</title>
<para>
Le programme Java ci-après montre comment indexer un fichier en utilisant 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>
|