Was eine moderne Suchlösung leisten muss

Eine Suche auf Websites hilft Nutzern, schneller Informationen zu finden. Suchlösungen haben dabei nicht mehr länger nur den Anspruch einzelne Begriffe zu finden, sondern relevante Inhalte gezielt auf die Bedürfnisse des Nutzers auszuspielen. Das erfordert die Einbindung semantischer Technologien, die Anbindung verschiedener Quellen und die Aufbereitung heterogener Daten. Dr.-Ing. Thomas Konnerth gibt in der Blogserie „Digitalmacher“ einen Einblick in moderne Suchtechnologien und Verfahrensweisen.

Du beschäftigst dich bei Neofonie mit Site-Search; was genau ist das?

Eine Site-Search ist eine allgemeine Suche innerhalb einer Website. Die meisten kennen die Site-Search als das klassische Suchfeld auf der Startseite. Vor allem komplexe Webseiten wie beispielsweise Portale enthalten in der Regel große Mengen an Informationen. Der User nutzt dann gerne die Suchfunktion, um schnell die gesuchten Informationen zu finden.

Wie werden externe Quelle in die Suche einbezogen?

Wenn sich die Suche nicht nur auf eine Website beschränkt, sondern auch externe Quellen miteinbezieht, erhöht sich die Komplexität. Die Daten werden teilweise von externen Anbietern bereitgestellt und müssen regelmäßig in unser System importiert und aufbereitet werden, damit der Nutzer immer aktuell und schnell die gesuchten Informationen findet.

Bei beispielsweise einem aktuellen Kundenprojekt startet ein Nutzer eine geografische Umkreissuche und gibt hierzu im Suchfeld seine Adresse an. Im Ergebnis bekommt der Nutzer alle Treffer in einem bestimmten Umkreis, sortiert nach der Entfernung, angezeigt. Um die Entfernung bestimmen zu können, benötigen wir jedoch den exakten Längen- und Breitengrad der angegebenen Adresse. Also müssen wir noch während des Processings (Verarbeitung der Suchanfrage) einen externen Dienst, also eine externe Quelle, nach dem zur Adresse gehörigen Längen- und Breitengrad abfragen.

Was muss eine moderne Suchlösung aus deiner Sicht heute lösen?

Wenn es um die Suche geht, denken die meisten Menschen an Google. Die Nutzer sind an gewisse Standards gewöhnt und erwarten diese eben auch an anderer Stelle. Das bedeutet, dass eine moderne Site-Search einen spürbaren Mehrwert im Vergleich zu Google oder ähnlichen Web-Suchen bieten muss. Die größte Herausforderung liegt für mich in der Darstellung der Suche und der Ergebnisse für den Endnutzer. Wenn die Bedienung der Site-Search komplizierter ist, als in einem neuen Fenster über Google zu suchen, dann erfüllt sie ihren Zweck nicht mehr. Genau so müssen natürlich die Ergebnisse entsprechend aufbereitet werden, damit sie mehr hergeben, als eine einfache Link-Liste die eine Web-Suche produzieren würde. Aspekte wie Usability und User Experience stehen hier stark im Vordergrund. Und gerade deshalb ist es so wichtig, das bei so einer Suche Frontend- und Backendentwickler eng zusammen arbeiten wie das bei der Neofonie passiert, um das beste Gesamtergebnis zu erzielen. Durch die umfangreiche Erfahrung, die es in der Neofonie zu diesem Thema gibt, können wir Suchtechnologien so aufbauen und optimieren, dass sie qualitativ bessere Ergebnisse liefert als eine allgemeine Websuche.

Worin unterscheidet sich die mobile Suche?

Bei der mobilen Suche sind die Anforderungen noch härter. Displaygrößen und Datenraten spielen hier eine entscheidende Rolle. Wenn ein Nutzer eine Liste mit 100.000 Treffern auf sein Handy bekommt, die am besten alle noch mit schönen großen Bildern versehen sind, dann wird er diese Suche kein zweites mal verwendet. Technologien wie Solr oder Elasticsearch machen es für die Entwickler inzwischen relativ komfortabel eine Suche bereit zu stellen. Aber die Aufbereitung für den Nutzer und natürlich die Qualität der Suchergebnisse sind aus meiner Sicht die aktuellen Herausforderungen.

Welche Technologien kommen bei der Suche zum Einsatz?

Da die Daten aus den unterschiedlichen Quellen unterschiedliche Formate haben, werden sie bei uns zentral auf einem Backend-Server gesammelt und von einer Reihe von Mule-Applications prozessiert, um sie für das Indexing vorzubereiten. Für das Indexing wird dann eine Apache Solr eingesetzt, der den fertigen Index an die Frontends verteilt. Die Suchanfragen selbst werden von unserem Webportal an eine kleine Webanwendung mit REST-Schnittstelle geschickt, welche die Anfragen für den Solr übersetzt und die Ergebnisse entsprechend aufbereitet. Im Portal selbst kommen dann natürlich noch die üblichen Technologien wie Java und JavaScript etc. zum Einsatz, sodass insgesamt ein relativ breites Spektrum an Technologien zum Einsatz kommt.

Für welche Technologien interessierst du dich?

Mich interessieren vor allem verteilte Systeme und Anwendungen. Technologisch hat sich da in den letzten Jahren einiges getan. Während die meisten Lösungen im Bereich der Service-Oriented Architectures noch sehr schwergewichtig und komplex waren, gibt es inzwischen eine ganze Reihe von Technologien, die die Entwicklung von verteilten Anwendungen erleichtern. Spannend sind zum einen natürlich die Entwicklungen bei den Messaging und Event-Bus Lösungen wie etwa Hazelcast oder Consul. Auch bei den Application-Frameworks ist der Verteilungsgedanke inzwischen immer mehr präsent, wie man etwa bei Vert.x oder node.js sehen kann, die solche Konzepte schon von Haus aus mitbringen.

Was reizt dich an deiner Tätigkeit bei der Neofonie?

Als ich bei Neofonie angefangen habe, stand zwar die Architektur für die Umsetzung der Suche schon fest, aber viele Teile mussten noch implementiert, getestet, angepasst und verfeinert werden. Das war eine besonders spannende Arbeit, weil ich nicht nur an einer kleinen Stelle gearbeitet habe, sondern immer das große Ganze im Blick behalten musste. Ich bin nun seit November 2014 bei der Neofonie und bin sehr zufrieden mit meiner Entscheidung.

 

Veröffentlichung am 28. Oktober 2015, aktualisiert am 14. Oktober 2020

Bildquelle: unsplash, KOBU Agency