Anzeige
Anzeige
Software & Entwicklung

Eine Einführung in die Sucherweiterung für eZ Publish: Die eigene Suchmaschine mit eZ Find 2.0

Ein gutes Content Management System zeichnet sich durch eine leichte und flexible Verwaltung von Inhalten aus. Es muss aber auch das Wiederauffinden von eingepflegten Inhalten möglichst einfach gestalten. Für das Enterprise CMS eZ Publish steht jetzt Version 2.0 der auf dem Apache-Solr-Projekt basierenden Sucherweiterung eZ Find zur Verfügung, die einige neue Features bietet.

6 Min.
Artikel merken
Anzeige
Anzeige

Während Websites zu den Anfangszeiten des Internets noch einen überschaubaren Umfang hatten, erlauben moderne Content Management Systeme auch bei wesentlich umfassenderen Websites mit meist zahlreichen Redakteuren, den Überblick zu behalten und neue Inhalte in verhältnismäßig kurzer Zeit zu erstellen oder einzupflegen. Genauso rasant wie die Menge an Inhalten steigt auch die Bedeutung effizienter Suchmöglichkeiten immer weiter. Inhalte einer Website, die nicht gefunden werden können, existieren aus Nutzersicht nicht und führen nicht selten zu Frust auf Anwenderseite. Abhilfe schafft oftmals eine ausgereifte Suchmaschine für die eigene Webpräsenz.

Anzeige
Anzeige

Mit eZ Find 2.0 [1] wurde im März die aktuelle Version der Sucherweiterung für das Enterprise CMS eZ Publish 4 veröffentlicht. Zu den Highlights zählen

  • Individuelle Anpassungen von Relevanzkriterien
  • Facets (Drill-Down-Suche)
  • Unterstützung von Mehrsprachigkeit
  • Berücksichtigung von Zugriffsberechtigungen
  • Integration weiterer Systeme in den Suchindex
  • Suchvorschläge („Ähnliche Treffer“)

Unter der Haube

Anstatt das Rad neu zu erfinden, nutzt eZ Find als technische Basis die bewährte Technik des Apache-Solr-Projekts [2]. Solr wiederum baut auf der Lucene-Java-Suchtechnologie auf. Als Extension für eZ Publish ersetzt eZ Find bei Bedarf die Standardsuche komplett oder ergänzt sie. Im Gegensatz zur Standardsuche nutzt der Index von Solr nicht die Datenbank des CMS, sondern eine eigene, für den Suchindex optimierte Datei. eZ Find nutzt Solr, um den Index anzulegen und Suchanfragen abzuarbeiten. Anhand spezieller Konfigurationsdateien lassen sich die Indizierung und Gewichtung von Texten und Schlüsselwörtern beeinflussen. Startet ein Anwender eine Suche, so erzeugt eZ Find eine Anfrage an das Solr-Backend. Die Kommunikation mit Solr erfolgt in Form von Web Services (REST). Um eZ Find 2.0 einsetzen zu können, werden Java Runtime Environment in der Version 5 sowie eZ Publish 4.0 oder neuer benötigt.

Anzeige
Anzeige

eZ Find im Einsatz

Suchmaschinen verrichten ihre Arbeit im Hintergrund. Entscheidend für die Qualität einer Suche ist, dass sie schnell arbeitet, Suchkriterien einfach zugänglich macht und die gewünschten Ergebnisse präsentiert.

Anzeige
Anzeige

Dass eZ Find 2.0 schnell ist und auch große Datenbestände in kürzester Zeit durchsuchen kann, beweist es beispielsweise bei der Verlagsseite von Random House Mondadori aus Spanien [3]. Hier lassen sich tausende von Buchtiteln und Autoren durchsuchen, nach Preisspannen filtern und die Ergebnisse nach unterschiedlichen Kriterien sortieren.

Die Nutzung verschiedener Suchkriterien in eZ Find zeigt die Rezeptsuche bei Woman’s Day [4] und dinmat.no. So lassen sich im Falle von Woman’s Day komplexe Suchabfragen wie die folgende einfach zusammenstellen:

Anzeige
Anzeige

Finde alle Rezepte mit der Hauptzutat Beef, die sich für den Sommer eignen, mit einer Zubereitungszeit von bis zu 20 Minuten und maximal 400 Kalorien.

Die Darstellung der Suchergebnisse erfolgt üblicherweise anhand der Suchrelevanz. Unter dinmat.no wird bei Suchanfragen die Relevanz der Treffer sogar direkt mitangegeben. Bei Bedarf müssen sich Treffer aber auch anpassen lassen, um beispielsweise bezahlte Einträge weiter oben darzustellen oder bei einer seitenweiten Suche bestimmten Inhaltstypen eine höhere Gewichtung zu geben. Treffer in den Nachrichten können so vor Treffern in Community-Blogs dargestellt werden.

Suchfacetten, wie sie bei Ebay oder vielen Preissuchmaschinen genutzt werden, unterstützt eZ Find ebenso wie Vorschläge zu ähnlichen Treffern, was im Fall von Tippfehlern durchaus sinnvoll sein kann. Zu diesem Zweck können anhand unterschiedlicher Algorithmen Vergleiche mit Wörterbüchern vorgenommen werden, wodurch der Anwender Vorschläge in der Art „Meinten Sie Pizza?“ bei der Eingabe von „pizzza“ erhalten kann.

Anzeige
Anzeige

Boole’sche Operatoren und Wildcards werden ebenso unterstützt. Eine Suche nach Pizza ohne Schinken sähe dann in einem Freitextfeld so aus: „+pizza -schinken“

eZ Publish und eZ Systems
eZ Publish ist das Enterprise CMS der
norwegischen Firma eZ Systems für mittlere bis große Installationen.
Das in PHP 5 entwickelte System ist unter der GPL verfügbar. Besonders hervorzuheben
sind der objektorientierte Ansatz zur einfachen Modellierung von
Inhalten, die umfangreiche Unterstützung für mehrsprachige Webauftritte, die Versionierung von Content-Objekten und die einfache Erweiterbarkeit in
Form von Extensions. Inhalte werden als Objekte einer bestimmten Klasse
angelegt, zum Beispiel Nachrichten, Blogeinträge oder Bilder, die
wiederum bestimmte Attribute haben (z. B. Überschrift, Text und Autor). Bei
Extensions wie eZ Find handelt es sich um Plugins zur Erweiterung der
Funktionalität oder des Designs. Die Flexibilität von eZ Publish
zeigt sich auch in den Anbindungsmöglichkeiten an diverse
Drittherstellersysteme wie Apple Final Cut Server, Adobe
Indesign, SDL Trados, SugarCRM, diversen Payment-Gateways und weitere.

Such-Performance

Bei eZ Find wird der Suchindex getrennt vom eigentlichen CMS angelegt. Dadurch ergeben sich mehrere Vorteile: Eine Suchanfrage belastet das Backend des CMS nicht, bei Volltextsuchen müssen beispielsweise keine Full-Table-Scans vom Datenbankserver durchgeführt werden. Gerade bei hochfrequentierten Webseiten kann dies bereits zu einer spürbar schnelleren Performance gegenüber der CMS-eigenen Suche führen. Häufige Suchanfragen führen bei Solr ebenfalls dazu, dass der Index-Cache optimiert wird und eZ Find mit jeder Suche schneller wird.

eZ Find unterstützt den Einsatz im Cluster-Modus, um höhere Geschwindigkeiten oder Ausfallsicherheit zu gewährleisten. Pro Server werden jedoch bereits bis zu 100 Millionen Objekte unterstützt, sodass Cluster nur in sehr umfangreichen Installationen notwendig sind. Als Faustregel gilt, dass bei einem Index mit 10 Millionen Objekten 10 Suchanfragen pro Sekunde – inklusive Facets, Hervorhebungen, Rechtschreibkontrolle und ähnliche Artikelvorschläge – auf gängiger Hardware realistisch sind.

Anzeige
Anzeige

Relevancy Tuning

Im Rahmen der Indizierung lassen sich bestimmte Boost-Faktoren angeben, die sich auf die intern genutzte Relevanzpunktzahl auswirken. Bestimmten Inhaltsklassen kann in der Anzeige somit der Vorzug gegeben werden oder Treffer in bestimmten Attributen werden stärker gewertet: Taucht der Suchbegriff in einer Überschrift auf, ist die Relevanz höher, als wenn der Suchbegriff in einem ALT-Tag eines Bilds steht. Im Gegensatz zu Solr sorgt das Zusammentreffen mehrerer Boost-Faktoren nicht dafür, dass diese multipliziert werden. Sie werden lediglich addiert.

Auch unterschiedliche Sprachen können in Abhängigkeit des Suchkontexts besondere Gewichtung erhalten. Prinzipiell durchsucht eZ Find die aktuelle Sprache, insofern die Suche nicht explizit auch andere Sprachen miteinbeziehen soll. Ebenso, wie bestimmte Objektklassen oder Attribute eine höhere Relevanz bekommen können, lassen sich Klassen auch aus der Indizierung ausklammern.

Startet ein angemeldeter Besucher eine Suchabfrage, werden automatisch die entsprechenden Berechtigungen bei der Anzeige der Ergebnisse berücksichtigt. Gibt es einen für anonyme Besucher verborgenen Bereich, taucht dieser auch nicht in einer normalen Suche auf, identifiziert sich ein Nutzer hingegen als Partner oder Lieferant, so kann er natürlich auch die zugehörigen, für anonyme Anwender versteckten Bereiche durchsuchen.

Anzeige
Anzeige

Facets und ähnliche Treffer

Hat eine Suche einmal Ergebnisse gefunden, lassen sich diese mit eZ Find beliebig sortieren und weiter verfeinern. Diese Filtermöglichkeit wird auch als Drill-Down-Navigation oder Facetting bezeichnet [5]. Ein bekanntes Anwendungsgebiet sind Preissuchmaschinen. Die Facetten stellen in der Regel Kategorien dar. Sucht man in einem Portal nach „Pizza“, könnte es Ergebnisse in den Kategorien Nachrichten, Rezepte und Forumsbeiträge geben. Ohne eine neue Suche zu starten, erlauben die Facetten eine weitere Eingrenzung der Ergebnisse eben nur auf Rezepte.

Systemübergreifende Suchen

Die Konfiguration von eZ Find erfolgt anhand von INI-Dateien. In einer Standardinstallation wird bereits die Indizierung mehrerer Instanzen von eZ Find unterstützt. Um diese auch gleichzeitig zu durchsuchen, wird folgende Einstellung benötigt:

Anpassung von ezfind.ini.append.php
[SiteSettings]
SearchOtherInstallations=enabled

Listing 1

Ähnlich einfach lassen sich Gruppen von Seiten für die gemeinsame Indizierung definieren, sodass entweder eine eZ-Publish-Installation, definierte Gruppen oder der gesamte Index durchsucht werdenkönnen.Sollen andere Systeme wie externe Webseiten, CRM-Systeme oder XML-Feeds ebenfalls indiziert und durchsuchbar gemacht werden, müssen gegebenenfalls externe Plugins und XML-Importer entsprechend konfiguriert werden.

Anzeige
Anzeige

Fazit

eZ Find ist eine leistungsfähige Suchmaschine, die auf Lucene/Solr aufsetzt. In Verbindung mit eZ Publish erlaubt sie Besuchern ein schnelles und flexibles Auffinden von Inhalten. Eine Anbindung an andere Systeme und deren Aufnahme in den Suchindex ist generell möglich, ohne eZ Publish kann eZ Find 2.0 jedoch nicht genutzt werden.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Schreib den ersten Kommentar!
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige