Zend_Search_Lucene-JavaLucene.xml 3.0 KB

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