Zend_Search_Lucene-JavaLucene.xml 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 15103 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.search.lucene.java-lucene">
  5. <title>Zusammenarbeit Mit Java Lucene</title>
  6. <sect2 id="zend.search.lucene.index-creation.file-formats">
  7. <title>Dateiformate</title>
  8. <para>
  9. <classname>Zend_Search_Lucene</classname> Indexdateiformate sind binär kompatibel mit der Java Lucene Version 1.4 und größer.
  10. </para>
  11. <para>
  12. Eine detaillierte Beschreibung dieses Formats ist hier erhältlich:
  13. <ulink url="http://lucene.apache.org/java/docs/fileformats.html"/>.
  14. <footnote>
  15. <para>
  16. Die aktuell unterstützte Version des Lucene Index Dateiformats ist 2.3 (beginnend mit ZF 1.6).
  17. </para>
  18. </footnote>.
  19. </para>
  20. </sect2>
  21. <sect2 id="zend.search.lucene.index-creation.index-directory">
  22. <title>Indexverzeichnis</title>
  23. <para>
  24. Nach der Indexerstellung wird das Indexverzeichnis verschiedene Dateien enthalten:
  25. </para>
  26. <itemizedlist>
  27. <listitem>
  28. <para>
  29. Die <filename>segments</filename> Datei ist eine Liste der Indexsegmente.
  30. </para>
  31. </listitem>
  32. <listitem>
  33. <para>
  34. Die <filename>*.cfs</filename> Dateien enthalten die Indexsegmente. Beachte!
  35. Ein optimierter Index enthält immer nur ein Segment.
  36. </para>
  37. </listitem>
  38. <listitem>
  39. <para>
  40. Die <filename>deletable</filename> Datei ist eine Liste von Dateien, die vom
  41. Index nicht mehr verwendet werden, aber noch nicht gelöscht werden konnten.
  42. </para>
  43. </listitem>
  44. </itemizedlist>
  45. </sect2>
  46. <sect2 id="zend.search.lucene.java-lucene.source-code">
  47. <title>Java Quellcode</title>
  48. <para>
  49. Das unten gelistete Java Programm stellt ein Beispiel für die Indizierung einer Datei
  50. mit Java Lucene dar:
  51. </para>
  52. <programlisting role="java"><![CDATA[
  53. /**
  54. * Indexerstellung:
  55. */
  56. import org.apache.lucene.index.IndexWriter;
  57. import org.apache.lucene.document.*;
  58. import java.io.*
  59. ...
  60. IndexWriter indexWriter = new IndexWriter("/data/my_index",
  61. new SimpleAnalyzer(), true);
  62. ...
  63. String filename = "/path/to/file-to-index.txt"
  64. File f = new File(filename);
  65. Document doc = new Document();
  66. doc.add(Field.Text("path", filename));
  67. doc.add(Field.Keyword("modified",DateField.timeToString(f.lastModified())));
  68. doc.add(Field.Text("author", "unknown"));
  69. FileInputStream is = new FileInputStream(f);
  70. Reader reader = new BufferedReader(new InputStreamReader(is));
  71. doc.add(Field.Text("contents", reader));
  72. indexWriter.addDocument(doc);
  73. ]]>
  74. </programlisting>
  75. </sect2>
  76. </sect1>
  77. <!--
  78. vim:se ts=4 sw=4 et:
  79. -->