Zend_Search_Lucene-JavaLucene.xml 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <!-- EN-Revision: 13831 -->
  2. <sect1 id="zend.search.lucene.java-lucene">
  3. <title>Agir avec Lucene Java</title>
  4. <sect2 id="zend.search.lucene.index-creation.file-formats">
  5. <title>Formats de fichier</title>
  6. <para>Les formats des fichiers d'index de <classname>Zend_Search_Lucene</classname> sont compatibles avec la version de
  7. Lucene Java 1.4 ou plus.</para>
  8. <para>Une description détaillée de ce format est disponible ici: <ulink
  9. url="http://lucene.apache.org/java/docs/fileformats.html"></ulink><footnote>
  10. <para>La version du format de fichier supporté actuellement est la 2.3 (depuis Zend Framework 1.6).</para>
  11. </footnote>.</para>
  12. </sect2>
  13. <sect2 id="zend.search.lucene.index-creation.index-directory">
  14. <title>Répertoire Index</title>
  15. <para>Après la création de l'index, le répertoire d'index contiendra plusieurs fichiers:</para>
  16. <itemizedlist>
  17. <listitem>
  18. <para>le fichier des <filename>segments</filename> est une liste des segments de l'index.</para>
  19. </listitem>
  20. <listitem>
  21. <para>Les fichiers <filename>*.cfs</filename> contiennent les segments de l'index. Notez qu'un index
  22. optimisé a toujours un seul segment.</para>
  23. </listitem>
  24. <listitem>
  25. <para>Les fichiers <filename>effaçables</filename> sont des fichiers qui ne sont plus utilisés par
  26. l'index, mais qui n'ont pas pu être supprimés.</para>
  27. </listitem>
  28. </itemizedlist>
  29. </sect2>
  30. <sect2 id="zend.search.lucene.java-lucene.source-code">
  31. <title>Code source Java</title>
  32. <para>Le programme Java ci-après montre comment indexer un fichier en utilisant Java Lucene :</para>
  33. <programlisting role="java"><![CDATA[
  34. /**
  35. * Index creation:
  36. */
  37. import org.apache.lucene.index.IndexWriter;
  38. import org.apache.lucene.document.*;
  39. import java.io.*
  40. ...
  41. IndexWriter indexWriter = new IndexWriter("/data/my_index",
  42. new SimpleAnalyzer(), true);
  43. ...
  44. String filename = "/path/to/file-to-index.txt"
  45. File f = new File(filename);
  46. Document doc = new Document();
  47. doc.add(Field.Text("path", filename));
  48. doc.add(Field.Keyword("modified",DateField.timeToString(f.lastModified())));
  49. doc.add(Field.Text("author", "unknown"));
  50. FileInputStream is = new FileInputStream(f);
  51. Reader reader = new BufferedReader(new InputStreamReader(is));
  52. doc.add(Field.Text("contents", reader));
  53. indexWriter.addDocument(doc);
  54. ]]></programlisting>
  55. </sect2>
  56. </sect1>