Enterprise Search, Teil 2 Was eine Enterprise Search können sollte
Welche Faktoren zeichnen eine gute Enterprise Search-Lösung aus? Sie muss in der Lage sein, Unternehmenswebsites vollständig zu durchsuchen – einschließlich interner, nicht öffentlicher Dokumente - unter Berücksichtigung der Zugriffsrechte. Das geht nicht ohne die passende Architektur.
Anbieter zum Thema

Um dies zu gewährleisten, ist neben der On-demand Indexierung für neue Inhalte auch die Berücksichtigung der jeweiligen Zugriffsrechte, wie z. B. Access Control List (ACL), erforderlich. Zudem ist das Logging der Suchanfragen zwecks Reporting eine Grundvoraussetzung.
Wegen der individuellen Anforderungen, die Unternehmen an die Suche stellen, ist eine maßgeschneiderte Lösung zu empfehlen, die schnell zu integrieren ist – bei transparenten, überschaubaren Kosten. Zudem haben Firmen mit einer solchen Lösung die volle Kontrolle über geschäftskritische Informationen und können für optimalen Datenschutz sorgen.
Lucene stellt nur Kern einer Suche zur Verfügung
Viele Open Source-Lösungen basieren auf der Apache Lucene-Technik. Den Kern von Lucene bildet eine Programmbibliothek, die den Index aus digitalen Formaten generiert, bereitstellt und entsprechende Suchergebnisse liefert. 1999 erstmals veröffentlicht, wurde Lucene 2001 Teil des Jakarta-Projekts, und 2005 ein Hauptprojekt der Apache Software Foundation.
Heute liefert Lucene zwar den Kern einer Suche, aber isoliert eingesetzt ist noch keine umfassende Suchfunktion realisierbar. Aufbauend auf der Lucene-Technik haben sich daher Projekte wie Nutch, Compass, Hounder oder Solr entwickelt. Insbesondere Solr verdient eine weitergehende Betrachtung.
Solr – so funktional wie die Google-Suche
Bei Solr handelt es sich um ein in Lucene enthaltenes Servlet für Container wie Apache Tomcat oder Jetty. Ursprünglicher Entwickler von Solr war CNET, das die Technik anfangs „Solar“ (Search on Lucene and Resin) nannte. Ebenso wie Tomcat ist Resin ein Servlet Container.
Solr kommuniziert über http: mittels http Post ist es z. B. möglich, verschiedenste Dateiformate – von XML über JSON bis hin zu PDF – zu verarbeiten bzw. zu indizieren. Abfragen erfolgen mittels http Get. Daneben bietet Solr weitere Features, wie etwa Highlighting, Ähnlichkeitssuche, facettierte Suche, Expertensuche, Phrasensuche, Rechtschreibprüfung, Autosuggestion und umfassende Analytics-Funktionalitäten, wie etwa gesuchte Wörter (Phrasen), gewählte Treffer etc.
In Summe erreicht Solr den Funktionsumfang der klassischen Google-Suche und ist zudem sowohl skalierbar als auch hochperformant. Mit rund 6.000 Downloads pro Tag zählt Lucene zu den erfolgreichsten Open-Source-Projekten – entsprechend groß sind die Community und die Knowledge Base im Netz. Zudem verfügt Solr über eine sehr gute Dokumentation, sodass auch in unternehmenskritischen Szenarien ausreichend Stabilität und Zukunftssicherheit gewährleistet sind.
Architektur von Solr
Um Solr einsetzen zu können, gibt es nur eine technische Voraussetzung: die Installation eines Java Development Kit (JDK) bzw. einer Java Runtime Environment (JRE) auf einem beliebigem Betriebssystem. Als Servlet Container ist eine Tomcat- oder Jetty-Instanz nötig, die die Apache Solr Webapp ausführt.
Mit einigen Parsern ausgeliefert, kann Solr spezielle Formate wie PDF, XML oder HTML interpretieren und das Ergebnis entsprechend indizieren. Für besondere Anforderung kann es ggf. erforderlich sein, zusätzliche Parser einzusetzen. Um Verzeichnisse oder Repositories zu durchsuchen, kommen Crawler zum Einsatz, die einen Verzeichnisbaum „spidern“.
Mächtiges Gesamtsystem
Was auf dem ersten Blick recht einfach erscheint, birgt aufgrund der Mächtigkeit des Gesamtsystems eine hohe Komplexität: Lucene ist eine Java-Bibliothek mit der Komponente Solr, diversen Parsern und Crawlern sowie Request Handlern und ermöglicht unter anderem die Einbindung in eine Servlet-Umgebung, die Aufbereitung der Trefferliste, das Rendering im Browser und die Anbindung von Solr an ein Active Directory oder LDAP – samt Abgleich gegen die Zugriffsrechte.
Für einige Komponenten stehen entsprechende Webfrontends zwecks Administration bereit, andere Konfigurationen erfolgen per Konsole und Texteditor. All das macht Lucene/Solr-Projekte zu einer großen Herausforderung. Aufgrund der Komplexität ist es umso wichtiger, ein passgenaues Gesamtpaket einzusetzen – harmonisch abgestimmt, wodurch sich die Konfiguration stark vereinfacht.
Den individuellen Bedarf ermitteln
Für eine maßgeschneiderte Suchlösung sollten zu Beginn der Planung eine Analyse der relevanten Daten und eine Präzisierung der Anforderungen erfolgen: Welche Datensilos und Dateiformate, wie etwa Word-, PDF- oder PPT-Dokumente, sind zu berücksichtigen? Gehören E-Mails dazu? Welche Benutzerrechte sollen greifen? Ist Mehrsprachigkeit gefordert?
Da Solr "out of the box" entsprechende Funktionalitäten bietet, lässt sich eine darauf abgestimmte Indizierung für die Darstellung von Sprachen als "Facetten" nutzen. Auch für den Betrieb sind Konzepte zu entwickeln. Zur Verarbeitung massiver Suchanfragen bietet sich z. B. der Einsatz von Replikation an: Die Indizierung führt ein Master durch, der dann auf mehrere Slaves repliziert wird.
Sind Suchabfragen statistisch zu erfassen? Sollen die Systeme on premise betrieben werden? Das würde maximale Konformität mit Datenschutzanforderungen und Compliance-Regeln bedeuten. Oder ist ein Höchstmaß an Flexibilität gewünscht? In diesem Fall würde sich eine Cloud-basierte Lösung anbieten.
Einsatzszenarien sprechen für sich
Auch die Einführung und der Betrieb einer Enterprise-Search-Lösung sind anspruchsvoll und erfordern ein methodisches Vorgehen, wie es in Projekten üblich ist. Dabei sind strategische Ziele ebenso zu berücksichtigen wie User Experience und Ergonomie.
Da es viele Fallstricke gibt, sollten Unternehmen hierbei auf externe Beratungsdienstleister mit großer Erfahrung zurückzugreifen. So umgehen sie altbekannte Fehler und profitieren zugleich von bewährten Best-Practice-Ansätzen. Die Vorzüge und Leistungsfähigkeit von Lucene/Solr sprechen für sich.
Die folgenden Beispiele sprechen für sich. Nicht nur die Wikipedia-Suche basiert auf Apache Lucene, die Technik kommt auch bei ImmobilienScout24, Zalando, Twitter, XING, LinkedIn und SoundCloud zum Einsatz.
(ID:43770263)