Diamond: Intels Zauber-Suchmaschine
Herkömmliche Suchsysteme wie etwa Google stützen sich stark auf einen Index: Was nicht in diesem Verzeichnis mit gewichteten Schlagwörtern enthalten ist, wird nicht gefunden. Die Alternative ist, ganze Dateibestände mit Gewalt zu durchsuchen. Um etwa alle Texte auf einer Festplatte mit dem Wort "Golem" zu finden, kann man die Dateien – unabhängig von ihrem Format – auch direkt durchwühlen. Bei kryptischen Dateiformaten oder Archiven klappt das natürlich nicht.
Ein Index muss allerdings ständig auf dem aktuellen Stand gehalten werden, was gerade bei großen Dateibeständen die Systeme verlangsamt. Diamond kann jedoch anhand von Filtern, die auf die Suchmaschine selbst aufgesetzt werden, direkt loslegen. Das System baut dabei aber auch einen Index auf, der auf dem lokalen Gerät gespeichert wird. Dieser Index ist nicht notwendig, um Diamond zu benutzen. Da Diamond auch mit vernetzten Rechnern arbeitet, auf denen ein Diamond-Modul laufen muss, können die Geräte untereinander auf die Indices zugreifen. Sind diese nicht vorhanden, funktioniert die Suche trotzdem. Bei der verteilten Suche sollen die Geräte die Last der Anfragen untereinander dynamisch verteilen. Ist etwa ein Handy per Bluetooth an einen PC angebunden, kann man vom Mobiltelefon aus eine Diamond-Suche starten. Diese erstreckt sich dann vom Handy über den PC und von diesem auf Server.
Das klappt natürlich nur, wenn überall dort Diamond läuft – daher ist die Software auch quelloffen gestaltet und kann leicht portiert werden. Sie steht unter der Eclipse Public License(öffnet im neuen Fenster) (EPL), die kommerzielle Erweiterungen ausdrücklich vorsieht.
Beim Herumspielen mit SnapFind zeigte sich, dass Diamond unter anderem mit "early discard" arbeitet: Dem Anwender werden zuerst viele Suchergebnisse präsentiert, aus denen er dann ein Ergebnis (hier: Ein Bild) auswählen kann, auf das die gemeinten Kriterien genau zutreffen. Aus den ersten Ergebnissen werden dann nur noch die gezeigt, die genau passen. Die Reihenfolge der Filter, und das ist eine der Neuerungen, passt Diamond dabei automatisch an. Der Anwender muss also zunächst nur eine vage Vorstellung haben, was er sucht.
Derzeit arbeiten die Entwickler an weiteren Anwendungen. Das Durchsuchen nach formähnlichen 3D-Objekten klappt bereits, eine sehr praxisnahe Anwendung ist auch bereits geplant. Statt in einem Kinofilm zu festgelegten Kapiteln zu suchen, könnte man in einem Teil von "Der Herr der Ringe" auch sagen: "Springe zum nächsten Schwertkampf". Mit einem Audio-Filter kann Diamond dann die Tonspur durchsuchen und dem Nutzer eine Szene anbieten. Ist das kein Schwertkampf, verwirft der Anwender das Ergebnis, Diamond weiß nun, was es nicht finden soll und sucht weiter. Die Wahrscheinlichkeit ist jedoch hoch, dass zunächst zumindest eine Szene mit Schwertern gefunden wird – die markiert man als richtig (die Reihenfolge der Filter ist damit neu festlegt) und als Nächstes erscheinen nur echte Klingenkonflikte. Weitere Anwendungen erstrecken sich vor allem auf den medizinischen Bereich, wo man etwa anhand von Bildähnlichkeiten Krebsformen besser erkennen zu hofft.
Intel hat für Diamond eine eigene Webseite mit ausführlichen Erklärungen(öffnet im neuen Fenster) zusammengestellt. Interessierte Entwickler können sich die Quelltexte samt SnapFind auf der Diamond-Seite(öffnet im neuen Fenster) der CMU herunterladen. Diamond ist bisher ausschließlich für Linux verfügbar und wurde unter den aktuellen Distributionen von Red Hat und Fedora getestet.
- Anzeige Hier geht es zu Intel-Prozessoren bei Alternate Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.