BlueSpice wechselt zu Elasticsearch

Diego Delso, Biblioteca Vasconcelos, Ciudad de México, [CC BY-SA 4.0 (http://creativecommons.org/licenses/by-sa/4.0)], via Wikimedia Commons
Diego Delso, Biblioteca Vasconcelos, Ciudad de México, CC BY-SA 4.0, via Wikimedia Commons.
Wir sind aktuell dabei, die kommende BlueSpice Version 3 mit einer neuen Suchmaschine auszustatten. Eine gute Gelegenheit zu zeigen, was sich bei Suchmaschinen gerade so tut und warum wir uns für den Wechsel entschieden haben.

Grenzen von Apache Solr

BlueSpice verwendet seit über neun Jahren Apache Solr als Suchmaschine. Solr ist eine herausragende, superschnelle und skalierbare Suchmaschine, die maßgeblich zum Erfolg von unserer MediaWiki-Distribution BlueSpice beigetragen hat. Die Nutzer konnten erstmalig Suchergebnisse über Facetten filtern, Dateianhänge durchsuchen und erhielten während der Eingabe die ersten Suchergebnisse. Wer im Jahr 2008 die Suchmaschinen in großen Unternehmen gesehen hat, weiß, dass die Verfügbarkeit von Solr für die meisten Unternehmen eine echte Revolution bedeutete.

Allerdings hat uns an Solr immer gestört, dass es sehr umständlich war, neue Datenstrukturen zu erfassen. Kurz zum Hintergrund: Wir indexieren mit Solr alle durchsuchbaren Inhalte im Volltext. Ergänzend erfassen wir verschiedenen Metadaten (z.B. Kategorien oder Autoren). Bei Solr muss man jedoch vorab definieren, welche Metadaten vorhanden sind. Und ist man einmal auf ein Schema festgelegt, kann man es auch nicht mehr so einfach verändern.

Das wurde für uns zunehmend zum Problem, da über die semantische Funktionen von BlueSpice immer mehr Metadaten verfügbar werden. Ein Wesensmerkmal dieser Semantik ist die Möglichkeit, flexibel und aus dem Wiki heraus Datenstrukturen zu erstellen und zu verändern.
Diese Metadaten sollen durchsuchbar und abfragbar sein, aber wir wissen im Vorfeld nicht, welche Metadaten wir beim Kunden vorfinden, da die Metadaten je nach Wiki sehr unterschiedlich sind. Ein Wiki für Qualitätsmanagement erfasst zum Beispiel Organisationseinheiten, die in einem anderen Wiki gar nicht hinterlegt werden, weil das andere Wiki Autoteile beschreibt. Die Semantik bietet eine große Dynamik, auf die eine Suchmaschine antworten muss.

Wir benötigen kurz gesagt, eine schemafreie Suche, die uns weit weniger festlegt. Eine schemafreie Suche kann die unterschiedlichen Metadaten indexieren und man kann nach diesen zusätzlichen Attributen suchen.

Argumente für Elasticsearch

Die neue Suchmaschine Elasticsearch wird uns diese Möglichkeit der schemafreien Suche  bieten. Apache Solr entwickelt zwar auch Ansätze in Richtung Schemafreiheit, aber – und das ist das zweite Argument – das Ecosystem um Elasticsearch ist deutlich besser entwickelt.

Außerdem haben wir festgestellt, dass sich Elasticsearch in unserer Umgebung sehr viel einfacher installieren lässt. Das System ist selfcontained: Man braucht keinen zusätzlichen Tomcat-Server mehr und auch der Setupprozess ist wesentlich kürzer. Sehr verkürzt gesagt, stellt man eine Elasticsearch hin und drückt auf einen Knopf. Dann verbindet sich das Wiki mit Elasticsearch und sagt “so schauen meine Daten in etwa aus” und dann passt das. Der ganze Vorgang läuft über das Web und Schnittstellen. Damit ist das System auch deutlich schneller.

Nicht so wichtig für uns war der Aspekt, dass Elasticsearch auch für Big Data-Aufgaben besser geeignet ist. Wir sind mit den Datenbeständen eines Enterprise-Wikis weit weg von Big Data-Problemen. Das spielt für unsere Anwendungsfälle keine große Rolle, aber BlueSpice wird mit Elasticsearch eine kompatible Anwendung in Big Data-Umgebungen. Das eröffnet neue Nutzungsmöglichkeiten. Denkbar ist nun beispielsweise die Auswertung von automatisch anfallenden Daten in einem Produktionsprozess.

Das sind im wesentlichen die Gründe, warum wir uns jetzt für einen Wechsel der Suchmaschine entschieden haben. Die Idee gibt es schon seit ca. zwei Jahren, aber bislang hatte sich die Notwendigkeit nicht ergeben. Und fragt man die Kunden, würden diese dank Solr nichts vermissen. Aber für die technologische Weiterentwicklung steht dieser Schritt jetzt ganz oben auf der Agenda.

Die eigentlich Herausforderung ist die Konzeption der Oberflächen

Elastic eröffnet uns riesige Möglichkeiten, die wir aber auch an die Oberfläche bringen müssen, denn das Neue, das Innovative, wird für die Nutzer die Umsetzung der Oberfläche sein. So könnte man Daten in einem Dashboard aufbereiten, das somit die neuen Einträge zu einem Suchbegriff (oder besser Thema) darstellt und damit die Portale ergänzt. Man könnte über die Suche Listen aller Seiten mit einem bestimmten Kriterium bauen. Man könnte sogar Funktionen, die heute in besonderen Tools bearbeitet werden – z.B. gib mir alle Seiten aus, für die der Mitarbeiter Meier verantwortlich ist und die freigegeben sind – jetzt über die Suche einbringen. Das ist damit einfacher und schneller, als es bisher über den traditionellen Semantic-MediaWiki-Mechanismus möglich war.

Das ist jetzt aber nur eine Skizze der Möglichkeiten. Wie sich das konkret in BlueSpice entwickelt, werden wir in den nächsten ein bis zwei Jahren sehen. Aber der Umstieg auf Elasticsearch ist ein großer Schritt für die Weiterentwicklung der BlueSpice-Software.

Dies könnte Ihnen auch gefallen

1 Kommentar

Schreiben Sie einen Kommentar