Zend_Search_Lucene-JavaLucene.xml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <sect1 id="zend.search.lucene.java-lucene">
  2. <title>Spolupráca s Java Lucene</title>
  3. <sect2 id="zend.search.lucene.index-creation.file-formats">
  4. <title>Formáty súborov</title>
  5. <para>
  6. Indexový súbor Zend_Search_Lucene je binárne kompatibilný s verziou
  7. Lucene 1.4 a vyššou.
  8. </para>
  9. <para>
  10. Detailný <ulink url="http://lucene.apache.org/java/2_0_0/fileformats.html">popis formátu</ulink>
  11. je k dispozícii na stránke projektu Lucene
  12. <footnote><para>Aktuálne podporovaná verzia indexového súboru je v2.0.</para></footnote>
  13. </para>
  14. </sect2>
  15. <sect2 id="zend.search.lucene.index-creation.index-directory">
  16. <title>Adresár indexu</title>
  17. <para>
  18. Po vytvorení indexu obsahuje adresár niekoľko súborov:
  19. </para>
  20. <itemizedlist>
  21. <listitem>
  22. <para>
  23. <filename>segments</filename> je súbor, ktorý obsahuje zoznam segmentov indexu.
  24. </para>
  25. </listitem>
  26. <listitem>
  27. <para>
  28. <filename>*.cfs</filename> súbory ktoré obsahujú segmenty indexu.
  29. Optimalizovaný index vždy obsahuje iba jeden segment!
  30. </para>
  31. </listitem>
  32. <listitem>
  33. <para>
  34. <filename>deletable</filename> súbor ktorý obsahuje zoznam súborov
  35. ktoré sa už nepoužívajú indexom, ale nemohli byť zmazané.
  36. </para>
  37. </listitem>
  38. </itemizedlist>
  39. </sect2>
  40. <sect2 id="zend.search.lucene.java-lucene.source-code">
  41. <title>Zdrojový kód v Java</title>
  42. <para>
  43. Nasledujúci Java kód poskytuje príklad ako indexovať súbor s použitím
  44. Java Lucene:
  45. </para>
  46. <programlisting role="java"><![CDATA[
  47. /**
  48. * Index creation:
  49. */
  50. import org.apache.lucene.index.IndexWriter;
  51. import org.apache.lucene.document.*;
  52. import java.io.*
  53. ...
  54. IndexWriter indexWriter = new IndexWriter("/data/my_index",
  55. new SimpleAnalyzer(), true);
  56. ...
  57. String filename = "/path/to/file-to-index.txt"
  58. File f = new File(filename);
  59. Document doc = new Document();
  60. doc.add(Field.Text("path", filename));
  61. doc.add(Field.Keyword("modified",DateField.timeToString(f.lastModified())));
  62. doc.add(Field.Text("author", "unknown"));
  63. FileInputStream is = new FileInputStream(f);
  64. Reader reader = new BufferedReader(new InputStreamReader(is));
  65. doc.add(Field.Text("contents", reader));
  66. indexWriter.addDocument(doc);]]>
  67. </programlisting>
  68. </sect2>
  69. </sect1>
  70. <!--
  71. vim:se ts=4 sw=4 et:
  72. -->