Interview mit Jens Görisch – Facettensuche
Eine Facettensuche ist in den letzten Jahren zu einem wichtigen Hilfsmittel für die Erschließung von großen Datenmengen geworden. Doch was macht diese Art der Filterung aus und wie binde ich dies in eZ Publish ein? Diese und andere Fragen habe ich Jens Görisch, eZ Find Spezialist bei silver.solutions in Berlin, gestellt.
Kurzportrait
Jens Görisch aus Berlin arbeitet bei der silver.solutions GmbH als Software-Entwickler. Seine Spezialgebiete: PHP Programmierung, Web Services – eZ Find, Magento, Web-Connector Ohne Eistee geht bei ihm nichts. |
Was verstehst du unter den Begriff Facette?
Jens Görisch: Facetten sind im Prinzip ein Kriterium nach dem man Daten aufgliedern, ordnen und unterteilen kann.
Und was ist nun eine Facettensuche?
Görisch: Am besten erkläre ich es an einem praktischen Beispiel.
Man fängt im Allgemeinen die Suche auf einer Website mit zwei bis drei Wörtern oder Begriffen an, von denen man denkt, sie könnten zu einem relevanten Ergebnis führen, z.B. „Buch eZ Publish“. Im Suchergebnis erhält man so in der Regel mehr Treffer als einem lieb sind. Um das Suchergebnis zu verfeinern werden dem Nutzer bei einer Facettensuche nun Kriterien vorgeschlagen, nach denen die Trefferliste gefiltert werden kann. Im oben genannten Praxisbeipiel könnten das z.B. die Produktgruppe (Fachbuch, elektronisches Buch usw.) Preis (von …. bis …) und Jahr sein. Der Nutzer weiß nun z.B., dass er die aktuellste Ausgabe eine Buches sucht und würde nach Jahr -> 2011 filtern. Im besten Fall ist die Trefferliste damit bereits so überschaubar, dass das gewünschte Ergebnis schnell gefunden ist. Wenn nicht, kann einfach nach weiteren Kriterien eingeschränkt werden, so lange bis man das gefunden hat, was man eigentlich möchte.
Was muss ich denn beachten wenn ich mich für diese Art der Suche entscheide?
Görisch: Man braucht eine entsprechende Qualität der Daten die man indiziert. Die Daten brauchen eine gewisse Struktur und Metainformationen müssen vorhanden sein. Folglich geht das nur, wenn z.B. eine Datenstruktur in Form von Produktkategorien und Datenfeldern (Preis, Farbe, Autor, Hersteller, Jahr… ) vorhanden ist. Mit reinem Text ist keine Facettensuche möglich. In den Daten muss auch eine gewisse Einheitlichkeit herrschen.
Was ist damit gemeint?
Görisch: Das heißt, dass die Schreibweisen für die gefilterten Begriffe immer die gleich sein müssen, z.B. Bindestriche immer an der selben Stelle oder dass immer ein „ä“ verwendet wird und nicht abwechselnd mal „ae“, sonst beeinträchtigt dies die Anzahl der Suchergebnisse pro Filtereinstellung. Als Beispiel eignen sich Familiennamen ganz gut. In unserem Beispiel-Shop gibt es einen Autor „Peter Müller“, der regelmäßig Bücher schreibt. Nur leider ist die Datenbank nicht einheitlich gepflegt und so wird der Name in einigen Fällen auch als „Peter Mueller“ aufgeführt. Wenn in der Trefferliste der Suche nun nach Autor gefiltert wird, erscheinen beide Schreibweisen des Namens als separate Filter mit unterschiedlicher Trefferzahl: „Peter Müller (23)“ und „Peter Mueller (5)“. Dies kann vermieden werden, wenn die Daten entsprechend geprüft und vereinheitlicht werden.
Für welche Beispiele bietet sich diese Art von Suche an und wo besser nicht?
Görisch: Wenn man wenig Daten hat, braucht man keinen Filter. Bei einer geringen Anzahl von Dokumenten erhält man im Zweifelsfall in jeden Filterkriterium sowieso nie mehr als zwei oder drei Einträge.
Zwischenfrage d. R.: Was sind wenig Daten?
Görisch: 100 – 500 Dokumente.
Bei unstrukturierten Dokumenten die nur ein Texthaufen sind ergibt eine Facettensuche ebenfalls kein Sinn.
Wenn man vornherein schon eine komplexe Suchmaske plant, die letztendlich bei der Suchanfrage das Ergebnis so einschränkt, dass die Trefferliste schon von Haus aus überschaubar ist. Denkbar ist dann noch, dass man den Nutzern die Möglichkeit bieten möchte, im Nachhinein seine Suchkriterien direkt im Suchergebnis anzupassen. Dafür würde man eine Facettensuche einsetzen.
Welche Darstellungsarten gibt es?
Görisch: Der Filter würde in einer Sidebar angezeigt, mit den diversen Kriterien, die sich aus der Suche ergeben haben. Hierbei gibt es dann zwei Möglichkeiten.
- Alle möglichen Filter werden auf einmal dargestellt.
- Über Web 2.0 gibt es Möglichkeiten, lediglich einen Ausschnitt der Facetten anzuzeigen.
Was ist die Optimale Anzahl der Kriterien?
Görisch: Das kommt sicherlich auf die Datenmenge an, aber auch auf die gesamte Gestaltung der Website. Es wäre sicher gut, wenn die Darstellung der Filterkriterien nicht über die Seite hinausragen und das Design sprengen.
Wie binde ich eine Facettensuche in eZ Publish ein und was brauche ich?
Görisch: Dafür braucht es eZ Find mit dem Solr Server. eZ Find hat die Möglichkeiten für eine Facettensuche an Bord und es gibt Beispiel-Templates. Diese muss man dann unter Umständen noch anpassen und für die eigenen Zwecke konfigurieren.
Wie wie gehe ich bei der Konfiguration von eZ Find vor?
Görisch: Es sind verschiedene Vorüberlegungen zu treffen und mehrere Arbeitsschritte nötig.
- Welche Facetten brauche ich für meine Daten?
- Klassen-Design, Attribute müssen auf „durchsuchbar“ gesetzt werden, ein Attribut ist eine Facette
- ini-Dateien und Templates müssen eingerichtet werden
- dann kann es schon los gehen
Kann ich Facetten auch verschachteln?
Görisch: Ja, das geht. Es gehen mehre Ebenen, das macht aber in der Praxis keinen Sinn. Da die Übersicht der Facetten dadurch stark beeinträchtigt wird und für den Benutzer nicht mehr überschaubar ist.
Gibt es dazu auch eine Ajaxlösung?
Görisch: Standardmäßig gibt es dazu keine Ajax-Lösung, aber für ein Kundenprojekt habe ich das schon umgesetzt. Der Aufwand belief sich in etwa auf 16 Stunden.
Wie hoch ist insgesamt der Aufwand für den Einbau einer Suche?
Görisch: Eine einfache Suche bekommt man vielleicht schon in zwei Stunden hin. Für komplexere Suchen kann man schon mit vier bis acht Stunden rechnen und gelegentlich wird es auch noch aufwändiger.
Beispielseiten mit einer umfangreichen Facettensuche
https://blog.silversolutions.de/2011/07/b2b-technologie/facettensuche-ez-publish/https://blog.silversolutions.de/wp-content/uploads/2011/06/facetten_suche_mit_ez_find.pnghttps://blog.silversolutions.de/wp-content/uploads/2011/06/facetten_suche_mit_ez_find-150x150.pngB2B.praxisB2B.technologieHow-to,InterviewEine Facettensuche ist in den letzten Jahren zu einem wichtigen Hilfsmittel für die Erschließung von großen Datenmengen geworden. Doch was macht diese Art der Filterung aus und wie binde ich dies in eZ Publish ein? Diese und andere Fragen habe ich Jens Görisch, eZ Find Spezialist bei silver.solutions in Berlin,...David HohlDavid Hohldho@silversolutions.deEditorDavid Hohl ist seit 1995 Entwickler und Projektleiter und bringt langjährige Erfahrung mit eZ Publish mit. Bei silver.solutions war David 2012 bis 2014 als Entwickler, Konzeptionen und Projektleiter für eZ Publish Projekte verantwortlich. Er hat das eZ-Publish-Blog ins Leben gerufen.silver.solutions