Zend_Search_Lucene-JavaLucene.xml 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.search.lucene.java-lucene">
  5. <title>Interoperando com Java Lucene</title>
  6. <sect2 id="zend.search.lucene.index-creation.file-formats">
  7. <title>Formatos de Arquivo</title>
  8. <para>
  9. Os formatos de arquivos de índice do <classname>Zend_Search_Lucene</classname> são
  10. binários compatíveis com Java Lucene versão 1.4 e superior.
  11. </para>
  12. <para>
  13. Uma descrição detalhada deste formato está disponível aqui:
  14. <ulink url="http://lucene.apache.org/java/2_3_0/fileformats.html"/>
  15. <footnote>
  16. <para>
  17. A versão do formato de arquivo de índice Lucene suportado atualmente é a 2.3 (a
  18. partir do Zend Framework 1.6).
  19. </para>
  20. </footnote>.
  21. </para>
  22. </sect2>
  23. <sect2 id="zend.search.lucene.index-creation.index-directory">
  24. <title>Diretório Índice</title>
  25. <para>
  26. Após a criação do índice, o diretório índice conterá alguns arquivos:
  27. </para>
  28. <itemizedlist>
  29. <listitem>
  30. <para>
  31. O arquivo <filename>segments</filename> é uma lista de segmentos de índice.
  32. </para>
  33. </listitem>
  34. <listitem>
  35. <para>
  36. Os arquivos <filename>*.cfs</filename> contém segmentos de índice. Nota! Um
  37. índice otimizado sempre terá apenas um único segmento.
  38. </para>
  39. </listitem>
  40. <listitem>
  41. <para>
  42. O arquivo <filename>deletable</filename> é uma lista de arquivos que não são
  43. mais utilizados pelo índice, mas que não puderam ser removidos.
  44. </para>
  45. </listitem>
  46. </itemizedlist>
  47. </sect2>
  48. <sect2 id="zend.search.lucene.java-lucene.source-code">
  49. <title>Código Fonte Java</title>
  50. <para>
  51. O programa Java abaixo oferece um exemplo de como indexar um arquivo usando Java Lucene:
  52. </para>
  53. <programlisting language="java"><![CDATA[
  54. /**
  55. * Criação do índice:
  56. */
  57. import org.apache.lucene.index.IndexWriter;
  58. import org.apache.lucene.document.*;
  59. import java.io.*
  60. ...
  61. IndexWriter indexWriter = new IndexWriter("/data/my_index",
  62. new SimpleAnalyzer(), true);
  63. ...
  64. String filename = "/path/to/file-to-index.txt"
  65. File f = new File(filename);
  66. Document doc = new Document();
  67. doc.add(Field.Text("path", filename));
  68. doc.add(Field.Keyword("modified",DateField.timeToString(f.lastModified())));
  69. doc.add(Field.Text("author", "unknown"));
  70. FileInputStream is = new FileInputStream(f);
  71. Reader reader = new BufferedReader(new InputStreamReader(is));
  72. doc.add(Field.Text("contents", reader));
  73. indexWriter.addDocument(doc);
  74. ]]></programlisting>
  75. </sect2>
  76. </sect1>
  77. <!--
  78. vim:se ts=4 sw=4 et:
  79. -->