Cloudant Search: Echtzeitsuche in CouchDB

Der Anbieter CouchDB-basierter Lösungen Cloudant(öffnet im neuen Fenster) hat seine CouchDB-Dienste um eine experimentelle Echtzeitsuche erweitert. Als Basis dient Apaches Suchmaschine Lucene mit ihrer Abfragesyntax. Allerdings haben die Entwickler Cloudant Search um eine Echtzeitsuche erweitert. Zudem können Abfragen über JSON erfolgen.
Da die Suchindizes in den gleichen Nodes gespeichert werden wie die indizierten Dokumente, verspricht Cloudant eine höhere Fehlertoleranz. Die Skalierbarkeit der Suche richtet sich nach der Skalierbarkeit der CouchDB-Datenbank selbst.
Die Daten werden in umgekehrten Indizes (Reverse Index) gespeichert, um die Suchabfragen zu beschleunigen. Dabei werden einzelne Begriffe den Dokumenten zugeordnet, in denen sie vorkommen. Die Dokumentenindizierung wird per Mapreduce in Cloudants Couchjava – einem View-Server, verfasst in der Programmiersprache Java – bereitgestellt. Laut Entwickler könnte auch eine eigene Javascript-Applikation verwendet werden, sofern sie das spezielle Mapreduce-Format verwendet. Abfragen können über die REST-API von Cloudant Search erfolgen, die boolesche Operatoren unterstützt.
Laut Cloudant sollen mit der Echtzeitsuche beispielsweise Kataloge mit Volltextinhalten und numerischen Werten abgefragt werden können. Auch eine schnelle, temporäre Abfrage mit anschließender Lösung der Indizes soll möglich sein.
Der Suchdienst steht allen Kunden des Datenbankhosters zur Verfügung. Eine technische Beschreibung der API hat Cloudant auf seiner Webseite veröffentlicht. Eine Anleitung, wie Anwender die Suche verwenden können, haben die Entwickler dort ebenfalls veröffentlicht. Cloudant bietet gegenwärtig seine CouchDB-Lösung Bigcouch zum Download(öffnet im neuen Fenster) als Ubuntu-Pakete sowie als Quellcode von einem Github-Server. Der Code des Viewservers Couchjava(öffnet im neuen Fenster) steht ebenfalls als Quellcode zur Verfügung.