Headerimage Case Studies

Apache Solr und elasticsearch

Ein bißchen Google für Ihre Website.

Aufgrund vieler Querverweise zwischen verschiedenen Tabellen in relationalen Datenbanken (zB. MySQL) kommt es vor, dass Abfragen auf große Datenmengen sehr lange dauern. Um dieses Problem in den Griff zu bekommen, setzen wir leistungsfähige Such- und Analyse-Lösungen wie Solr und elasticsearch ein. Bei beiden Technologien handelt es sich um Plattformen, die parallel zur eigentlichen Webseite/Anwendung, meist auf einem separaten Server, bereitgestellt werden. Diese gehen ähnlich vor, wie die Suchmaschine Google. Mithilfe eines Crawlers, der Webseiten und deren Datenbanken systematisch scannt, wird ein strukturierter Index erzeugt, der aufgrund festgelegter Facetten und Selektionsstrukturen ultra schnell durchsuchbar ist.

Solr und elasticsearch bringen typische Funktionen mit, die die gezielte Suche stark vereinfachen:

  • Autovervollständigung
  • Echtzeitsuche (Suchergebnisse bei jedem Tastenanschlag)
  • Ranking (am besten passende Suchergebnisse werden zuerst gelistet)
  • facettierte Suche nach Kategorien 
  • Wortstammerkennung, Rechtschreibprüfung und Unschärfesuche
  • automatische Index-Replikation und Verteilung (zur Performancesteigerung)
  • flexibel Erweiterbarkeit

Wir setzen Solr und elasticsearch u.a. in TYPO3 Projekten ein, um große Webseiten mit viel Content schnell und einfach durchsuchbar zu machen. Dabei greifen wir auch auf Extensions aus dem TER (TYPO3 Extension Repository) zurück, die die Einbindung von Suchservern schnell und einfach ermöglichen.

In komplexen Softwareprojekten reichen Standardlösungen aber oftmals nicht aus, weshalb wir eigene Crawler für die Indexierung und umfassende User Interfaces für die Frontends selbst entwickeln. Die verwendete Technologie ist dabei völlig egal. Wir haben bereits Crawler auf PHP-, Ruby- und Java-Basis im Portfolio und verbinden neben unseren TYPO3-Websites auch Web- und Mobile Apps mit Suchservern.