{"id":286,"date":"2008-02-18T21:03:00","date_gmt":"2008-02-18T20:03:00","guid":{"rendered":"http:\/\/ollmetzer\/?p=286"},"modified":"2010-05-30T14:33:15","modified_gmt":"2010-05-30T12:33:15","slug":"schoner-suchen","status":"publish","type":"post","link":"https:\/\/www.ollmetzer.com\/?p=286","title":{"rendered":"Sch\u00f6ner suchen"},"content":{"rendered":"<p>Bald ist Ostern und da ist es nur angebracht, wenn ich mich mal wieder mit dem Thema &#8222;suchen&#8220; besch\u00e4ftige. Anl\u00e4sslich eines neuen Projektes brauchte ich n\u00e4mlich eine neue Methode, dem Benutzer eine Suchfunktion zu bieten, die sowohl Dateien, als auch Datenbankeintr\u00e4ge verarbeitet. Ein Kollege meinte, ich solle mir doch mal Lucene genauer ansehen. Davon hatte ich zwar schon geh\u00f6rt, bin aber bisher davon ausgegangen, damit nur Textdateien durchsuchen zu k\u00f6nnen. Au\u00dferdem ist das Java, und das wollen wir PHPler ja nicht so gerne&#8230;<\/p>\n<p><strong>Haha &#8211; falsch!!!<\/strong><\/p>\n<p>Im Zend-Framework ist eine PHP-Implementation von Lucene enthalten &#8211; und sie ist cool! Indexerstellung von Dateien und DB-Eintr\u00e4gen &#8211; gerne auch gemischt. Allet janz einfach &#8211; Kein Problem. <\/p>\n<p>Ich habe zum Ausprobieren eine kleine, einfache Suchfunktion f\u00fcr mein neues, kommendes Blogsystem geschrieben (da hatte ich eben schon eine gr\u00f6\u00dfere Textmenge in der DB). Die Aktion hat von ersten Anschauen der Dokumentation, \u00fcber die Installation des Zend Frameworks bis zur fertigen Funktion gerade mal 3 Stunden gebraucht. Die H\u00e4lfte der Zeit h\u00e4tte ich mir auch schenken k\u00f6nnen, wenn ich nicht versucht h\u00e4tte, per PHP Texte aus PDF-Files zum Indiezieren herauszuziehen. Das machen wir am besten weiterhin mit externen Tools, genau wie f\u00fcr Word-Dokumente.<\/p>\n<p>Das Indizieren dauert etwas, wie ich bemerkt habe, aber wichtiger ist die Suchgeschwindigkeit. Der n\u00e4chste Schritt ist, das ganze mal auf gro\u00dfe Datenmengen loszulassen und mit der Eieruhr daneben zu sitzen. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bald ist Ostern und da ist es nur angebracht, wenn ich mich mal wieder mit dem Thema &#8222;suchen&#8220; besch\u00e4ftige. Anl\u00e4sslich eines neuen Projektes brauchte ich n\u00e4mlich eine neue Methode, dem Benutzer eine Suchfunktion zu bieten, die sowohl Dateien, als auch Datenbankeintr\u00e4ge verarbeitet. Ein Kollege meinte, ich solle mir doch mal Lucene genauer ansehen. Davon hatte [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,11],"tags":[],"class_list":["post-286","post","type-post","status-publish","format-standard","hentry","category-development","category-onlinedienste"],"_links":{"self":[{"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=\/wp\/v2\/posts\/286","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=286"}],"version-history":[{"count":0,"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=\/wp\/v2\/posts\/286\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=286"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=286"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=286"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}