Sphinx: Suche ohne Rätsel
Zu den wichtigsten Bestandteilen von Webapplikationen oder Online-Angeboten gehört eine gute Suchmaschine. Doch wer nicht gerade Google für sich suchen lassen möchte, hat keine allzu einfache Aufgabe vor sich. Denn die wenigsten der freien Datenbanken bringen leistungsfähige Werkzeuge zur Volltextsuche mit. So unterliegt beispielsweise die Volltextsuche von MySQL, die eine der bekannteren ist, etlichen Restriktionen:
- Sie kann nur mit der Storage Engine MyISAM eingesetzt werden.
- Ein Volltext-Index kann nicht über mehrere Tabellen oder Datenbanken hinweg verwendet werden.
- Die verwendeten Algorithmen sind verhältnismässig primitiv.
- Sie ist langsam.
Separate Werkzeuge
So bietet sich der Einsatz von separaten Werkzeugen an, die auf Volltextsuche und grosse Textmengen spezialisiert sind. Das wohl beste freie Werkzeug ist das Java-Framework Lucene, das wir im Rahmen unserer Apache-Serie in InfoWeek 18/2006 bereits vorgestellt haben. Allerdings ist Lucene nicht ganz einfach zu bedienen und als Java-Software nicht unbedingt ideal für die Verwendung mit anderen Sprachen, sofern nicht eine einigermassen gleichwertige Implementierung existiert. Weniger ausgefeilt, dafür einfacher zu bedienen, ist Sphinx (www.sphinxsearch.com).