TYPO3 und die Lucene Suche von Zend

Ich habe heute abend mal vesucht, den quasi Ersatz der Indexed_search, die powersearchlucene zu installieren und habe recht gute Resultate zu vermelden. Wir haben die Powerseach noch um eine Idee erweitert, um die Vollindizierung aller Seiten indexed_search-like hinzubekommen:

Zu allererst muss man 4 Extensions installieren:

Paket aller benötigten (angepassten) Extensions für die Lucene-Suche

powersearch (Basic Extension)
powersearchui (Frontend Plugin)
Das Plugin kann gleich auf einer Seite eingefügt werden, wird aber momentan noch nicht funktionieren.

weear_googlesitemap (Zusammenfassung aller Seiten)
Die Google-Sitemap muss laut manual installiert werden. Das ist recht einfach. Hier muss darauf geachtet werden, dass auch News-Seiten und dergleichen in der Google-Sitemap auftauchen.

powersearchindexlucene (CLI-Indexer)
Der Indexer benötigt ein paar Einstellungen, die während der Installation gemacht werden müssen:
– Absoluter Pfad zur Google-Sitemap
– Used Indexers: hier können die Verschiedenen zur Auswahl stehenden Index-Typen eingestellt werden

T3Content: Indiziert nur tt_content, in unserem Fall nicht brauchbar
T3Dam: Indiziert alle DAM-Files, sehr praktisch, wenn alle Files im DAM öffentlich sein sollen
T3Files: Alternativlösung zu DAM, indiziert alle Dateien, die auf einer Seite oder einem Inhalt eingebunden sind.
NewsML: Indizierung der Tabelle nml_articlerev, in den meisten Fällen unbrauchbar
Files: Indiziert alle Dateien unterhalb des fileadmin-Verzeichnisses
Googlesitemap: Unsere gloriose Weiterentwicklung, Indiziert alle Seiten, die in der Google-Sitemap auftauchen unter Berücksichtigung der bekannten Bereichsdefinierungen TYPO3SEARCH_begin und TYPO3SEARCH_end.

Dann noch den User „_cli_powersearchindexlucene“ im Backend anlegen das ist der User, der über das CLI den Zugriff auf alle Seiten erhält. Passwort ist egal.

Dann musste ich meinen Server erstmal für das CLI fit machen. Folgende Codes habe ich auf der Shell ausgeführt:

Update der apt-get Bibliothek:
#apt-get update

Sudo (Superuser do) installierien:
#apt-get install sudo

CLI installieren für php5:
#sudo apt-get install php5 php5-cli

Jetzt melde ich mich am Linux als Apache user www-data an (muss ich nicht, falls ich schon derjenige bin, bei Mittwald beispielsweise ist das der p*****-User):
#su www-data

Jetzt musste ich das Zend Framework installieren und den Zend Ordner registrieren, das macht man am besten in der localconf.php. Vorsicht bei TYPO3-Versionen 4.2, hier wird der Standard-Include-Path überschrieben und TYPO3 funktioniert nicht mehr. Hier sollte der Include-Path an die bestehenden angehängt werden.! Die Zend-Extension im TYPO3-Repository ist auch nicht immer die beste Lösung.
ini_set(„include_path“, „/var/www/ZendFramework/library/“);

Und ab geht die Post, der erste Index kann erstellt werden.
#php /var/www/banquo/typo3conf/ext/powersearchindexlucene/cli/indexer.php

Jetzt legt der Indexer einen Index unter typo3temp/powersearchindexlucene/ an, diesen kann man auch sehen.

Wir werden sicherlich noch etwas aufräumen und eventuell ein Update der Original-Powersearch Extensions anfragen. Derzeit ist das Paket noch funktional im Beta-Stadium.

UPDATE————–
Die Firma d.k.d. hat bei der T3AK09 in München ein Open Source Projekt vorgestellt, bei welchem Lucene in der Hülle von Solr eine prima Suchmaschine abgeben soll. Hier gibts dann auch Antworten auf die Frage: Ähnlichkeitssuche, Suchtrefferqualifizierung, Hochskalierbarkeit. Das Projekt ist eben noch in der Schmiede, es wird jedoch um Mitarbeit gebeten, Kontakt Olivier Doberkau (Xing: https://www.xing.com/profile/Olivier_Dobberkau )

Zudem haben wir eine neue Extension Namens „Lucene“ im Alpha Stadium hochgeladen, welche mehrere verschiedene Kanäle wie Websites, RSS Feeds, XML Sitemaps, Blog-Artikel, Verzeichnisse indizieren kann.

Veröffentlicht unter TYPO3 Technik
13 Kommentare auf “TYPO3 und die Lucene Suche von Zend
  1. Michael sagt:

    Wir entwickeln derZeit eine Extension basierend auf der Lucene-Powersearch Logik, die die Index-Search komplett ablösen kann.

  2. Michael sagt:

    Die Erfahrungen mit Lucene sind wirklich extraklasse, die Extension arbeitet super. Momentan haben wir aus der entwickelten Extension folgende Vor- und Nachteile:

    + Viel schnellere Suchergebnisse
    + Keine Belastung der Datenbank bei Anfragen
    + Keine Datenbank-Craches der index_rel Tabelle
    + 100%ige Indizierung aller Downloads & DAM Files

    – (Noch) Keine % Zahl der Relevanz eines Dokuments
    – Suchergebnisse nicht personalisierbar für fe-user. Das wird auch nie funktionieren.
    – Es wird (derzeit) nur ein allgemeiner Abstract des Dokuments angezeigt und nicht die direkte Fundstelle.
    – Such-Plugin ist (noch) nicht vertemplatet

  3. Michael sagt:

    Ich habe den Artikel oben geupdatet, er beinhaltet nun eine komplette Anleitung zur Installation der besagten Lösung

  4. stefan.wieczorek sagt:

    Hallo Michael,
    ich habe gerade mal die Suche eingebaut, funktioniert soweit auch wunderbar, allerdings frage ich mich, wie die Suche über Module (z.B. tt_news) funktioniert?

    Wenn ich den Quelltext richtig verstanden habe, dann indexziert PowerSearchIndexerT3Content nur die tabelle tt_content.
    Heißt das, das ich für ein Modul einen eigenen Indexer schreiben muss, der von PowerSearchIndexerBase ableitet??

    Vielen Dank.

    Stefan Wieczorek

  5. Sehr schön … ich werde das ganze mal testen, falls es noch aktuell ist.

  6. Michael sagt:

    Hm, wenn das noch nicht so gut rausgekommen ist:
    die Ableitung der Indexer für Google-Sitemaps war im Endeffekt die Idee, die die Extension in meinen Augen brauchbar macht.

    Wir haben derzeit bei einer Installation Probleme bekommen:

    Wenn mehr als 100 Ergebisse zu einem Suchtreffer erscheinen, wird nicht richtig nach Relevanz sortiert.

    Wir haben noch parallel eine weitere Entwicklung getätigt, die die Seite einfach wie der Google-Spider abcrawlt und indiziert. Das Ergebnis kann man hier bestaunen: http://www.ct-arzneimittel.de

    Des weiteren möchte ich die Lösung ext:solr von dkd nennen, die als öffentlich zugängliche Extension im TER schon sehr vielversprechend ist. Läuft allerdings nur auf Tomcat oder anderen Java-Plattformen.

  7. Alex sagt:

    Tolle Sache,

    nur habt ihr in der weeaar_googlesitemap ein paar PHP Fehler drin die unschöne Warnings verursachen.

  8. Michael sagt:

    wir verwenden auch nurnoch die dd_googlesitemap, die meiner meinung zwar ohne php-kenntnisse garnicht zum laufen gebracht werden kann, aber dennoch den elegantesten ansatz aller google sitemaps bereitstellt.

  9. Michael Fritz sagt:

    Guckst du hier, wie du Powersearch und tt_news zusammenbringst, nicht ganz einfach aber machbar:

    http://blog.marit.ag/2010/01/18/powersearch-indizierung-von-tt_news/

  10. André sagt:

    Hallo!

    Ohne Tabellenschema keine Kompetition…!

    „SQLSTATE[42S02]: Base table or view not found: 1146 Table ‚xxx.nml_category‘ doesn’t exist“

    Wie komme ich an das Schema?

    André

  11. nml_category ist eine Tabelle aus einem anderen Indexer. Du solltest die komischen Indexer beim Installieren der Extension rauswerfen, da gibts eine Textbox, in welcher eine Liste der aktiven Indexer zu sehen ist. nml_category hat nichts mit tt-news zu tun.

  12. André sagt:

    Das nml_category nicht zu tt_news gehört ist mir klar. Ich habe in dieser Textbox nur „googlesitemap“ zu stehen und trotzdem werden die anderen Indexer genommen. Alle Cache-Dateien sind gelöscht. Ich werde mal die Indexer physisch entfernen.

    André

  13. Hallo,
    ich habe von dem Suchindex Lucene gehört und hier nachgelesen und könnte ihn für mein Portal benötigen. Wer könnte mir dabei helfen und was würde es denn kosten?
    Grüße
    Peter Dexheimer

1 Pings/Trackbacks für "TYPO3 und die Lucene Suche von Zend"
  1. youmob.com sagt:

    youmob.com…

    TYPO3 Blog – für TYPO3 Entwickler von TYPO3 Experten » TYPO3 und die Lucene Suche von Zend…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*