Zend_Search_Lucene-JavaLucene.xml 3.0 KB

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