Login
Newsletter
Werbung

Di, 27. Juni 2006, 15:07

Software::Datenbanken

Neue Volltextsuche für MySQL vorgestellt

Mit einem neuen Plugin, das nun als Release-Kandidat vorgestellt wurde, lassen sich Texte in sämtlichen MySQL-Engines durchsuchen.

Bereits in der Version 3.23.23 erhielt das freie Datenbanksystem MySQL die Möglichkeit, nach gewissen Textelementen in einem Textfeld zu suchen. Die so genannte Volltextsuche setzte einen besonderen Index voraus, den FULLTEXT-Index, und war lediglich für bestimmte Tabellen einsetzbar. Zwar erweiterte das Team die Volltextsuche in MySQL 4.0.1 um komplexere Volltext-Suchvorgänge, die Einschränkung auf nur wenige Engines blieb aber.

Mit einem neuen freien Plugin will nun ein Entwicklerkreis auch anderen Engines eine Volltextsuche ermöglichen. Sphinx, so der Name des Projektes, benutzt dazu einen separaten Prozess und agiert komplett autark von der eigentlichen Engine der Datenbank. Hier ergibt sich allerdings schon das erste Problem. Bei MySQL-Versionen vor Version 5 kann Sphinx nur über externe APIS auf die neu erstellten Indizes zugreifen. In MySQL-Versionen ab 5.0.22 lässt sich die Erweiterung dagegen als eigener Tabellentyp integrieren und das Indexieren und Suchen in den verschiedenen Engines wird durch einen externen Daemon durchgeführt.

Wie die Programmierer auf ihrer Seite schreiben, soll Sphinx über eine performante Idexierung der Tabellen verfügen, so dass auf modernen CPUs bis zu 10 MByte pro Sekunde bearbeitet werden können. Auch die Volltextsuche soll durch eine gesteigerte Geschwindigkeit überzeugen. Laut Aussagen der Programmierer soll Sphinx für 2-4 GByte an Daten unter 0,1 Sekunden brauchen. Sphinx unterstützt Stoppwörter und eine Relevanzauswertung. Wie bereits bei der internen Volltextsuche von MySQL werden auch hier alle Stoppwörter ignoriert. Die Erweiterung unterstützt die Suchmodi »match all«, »match phrase«, »match any« und »boolean query«.

Sphinx steht unter der GNU General Public License und kann ab sofort vom Server des Projektes bezogen werden. Die Funktionalität der Erweiterung wurde unter *BSD, Linux und Windows getestet. Neben der eigentlichen Erweiterung und einem Daemon kommt das Paket auch mit diversen Indexierungstreibern. Diese ermöglichen das Einlesen der Daten aus SQL-Datenbanken, Text-Dateien und anderen Fileformaten. Im Moment bietet das Team nur Treiber für MySQL und PostgreSQL an.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung