Zend_Search_Lucene-JavaLucene.xml 2.6 KB

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