Nextcloud Volltextsuche und Photos erwecken die Datenauffindbarkeit zu neuem Leben

Nextcloud Full Text Search und Photos: Die stille Wiederauferstehung der Datenauffindbarkeit

Die Suche in Nextcloud ist ein Thema, das viele Administratoren lange vor sich her schieben. Man kennt das: Die Cloud läuft, die Dateien liegen auf dem Server, die Benutzer synchronisieren brav ihre Ordner. Und dann, irgendwann, die Frage: „Wo war noch gleich die Präsentation von letztem Jahr? Ich weiß nur noch, da stand etwas von ‚Lieferkette‘ drin.“ Die Antwort bleibt oft ein Achselzucken. Nextcloud kann zwar Dateinamen durchsuchen, aber den Inhalt von Dokumenten, PDFs oder gar Fotos? Das war lange Zeit ein Trauerspiel. Doch das hat sich in den letzten Jahren grundlegend geändert. Mit der Volltextsuche und den neuen Foto-Funktionen ist Nextcloud zu einer Art digitalem Gedächtnis geworden, das weit mehr kann, als nur Ordnernamen abzuklappern.

Dabei zeigt sich ein interessanter Widerspruch. Nextcloud positioniert sich als selbst gehostete Alternative zu den großen Cloud-Diensten wie Google Drive oder Microsoft OneDrive. Aber genau dort, bei der Suche, hinkte die Open-Source-Lösung den kommerziellen Angeboten lange hinterher. Google durchsucht seit Jahren den Inhalt von Bildern, extrahiert Texte aus gescannten Dokumenten und liefert Gesichter-Erkennung in Google Fotos. Nextcloud war da eher ein digitaler Aktenschrank mit Schubladen – ordentlich, aber ohne Kuratoren. Genau hier setzen die neuen Bausteine an, und es lohnt sich, einmal genauer hinzusehen, was „Full Text Search – Photos“ tatsächlich bedeutet, wo die Haken liegen und wie man das Ganze im eigenen Rechenzentrum oder auf dem heimischen Server zum Laufen bekommt.

Was die Volltextsuche in Nextcloud eigentlich ist

Bevor man sich in die Tiefen der Konfiguration stürzt, sollte man verstehen, wovon wir überhaupt sprechen. Die Volltextsuche ist keine einzelne Funktion, sondern ein Sammelsurium aus mehreren Apps, die im Nextcloud-Kosmos miteinander verwoben sind. Im Kern geht es darum, nicht nur Dateinamen zu durchsuchen, sondern auch den Inhalt von Dokumenten, die Metadaten von Bildern, kommentierte Textstellen und seit Neuestem auch die visuellen Eigenschaften von Fotos. Das klingt simpel, ist aber architektonisch anspruchsvoll, denn Nextcloud selbst ist nur das Frontend. Die eigentliche Sucharbeit erledigen externe Dienste wie Elasticsearch oder Apache Solr, die einen Index aufbauen, in dem Begriffe und Dateien miteinander verknüpft sind.

Der Standardweg ist dabei ein Index, der bei jedem Upload, jeder Änderung und jeder Löschung aktualisiert wird. Man stelle sich das wie ein Buchregister vor, das hinter den Kulissen mitgeschrieben wird. Wenn ein Textverarbeitungsdokument auf den Server gelegt wird, zieht die Volltextsuche den reinen Text aus der Datei – ohne Formatierung, ohne Bilder, nur den Inhalt – und zerlegt ihn in sogenannte Tokens, also in einzelne Suchbegriffe. Diese werden anschließend im Suchindex abgelegt. Kommt dann ein Nutzer und tippt „Lieferkette“ in das Suchfeld, schaut Nextcloud nicht mehr alle Dateien einzeln an, sondern fragt den Index ab. Das ist nicht nur schneller, sondern ermöglicht auch komplexe Abfragen, die in einer reinen Datenbanksuche nach dem Muster „LIKE %lieferkette%“ niemals in akzeptabler Zeit funktionieren würden.

Dabei zeigt sich eine typische Eigenheit der Open-Source-Welt: Es gibt nicht den einen Weg, sondern mehrere Puzzleteile, die man zusammensetzen muss. Die zentrale App heißt schlicht „Full text search“. Sie ist im Nextcloud-App-Store verfügbar und stellt das Grundgerüst bereit. Auf diesem Grundgerüst setzen dann Plattform-Apps auf, also die Anbindung an Elasticsearch oder Solr, und für verschiedene Dateitypen stehen wiederum zusätzliche Module bereit, die den Text aus PDFs, Office-Dokumenten oder Bildern extrahieren. Das wirkt auf den ersten Blick überladen, entpuppt sich aber als sinnvoll, denn so kann jeder Betreiber nur die Komponenten installieren, die er tatsächlich benötigt. Ein System, das ausschließlich für die Archivierung von Rechnungen genutzt wird, braucht eben keine Gesichtserkennung; ein anderes, das hauptsächlich Fotos speichert, vielleicht doch.

Die Qual der Wahl: Elasticsearch, Solr oder die kleine Lösung

Die entscheidende Frage für Administratoren lautet: Welches Backend nehme ich? Die Antwort hängt, wie so oft, von den vorhandenen Ressourcen ab. Elasticsearch ist der Platzhirsch, hat einen großen Funktionsumfang, einen umfangreichen Sprachassistenten und lässt sich mit den meisten Monitoring-Tools gut überwachen. Allerdings ist Elasticsearch auch dafür bekannt, ein Speicherfresser zu sein. Wer eine Nextcloud-Instanz mit einigen hundert Tausend Dateien betreibt, muss schon einmal bereit sein, dem Java-Prozess mehrere Gigabyte Arbeitsspeicher zu geben, sonst wird der Index zur Qual. Einige Betreiber mögen nun einwenden, dass ein moderner Server ohnehin 64 oder 128 Gigabyte hat – das mag stimmen, aber in kleineren Umgebungen, etwa beim Verein oder in der Kanzlei mit einer Handvoll Benutzern, ist dieser Ressourcenhunger unverhältnismäßig.

Die Alternative Apache Solr, das auf der gleichen Java-Welt basiert, ist ähnlich mächtig, hat aber den Ruf, etwas sperriger in der Konfiguration zu sein. Solr glänzt mit einer feingranularen Steuerung der Indizierung und eignete sich lange Zeit besser für Experten, die nicht jede Einstellung über YAML-Dateien, sondern über ein Webinterface vornehmen möchten. Ein Geheimnis sei hier verraten: Wer mit Solr schon einmal gearbeitet hat, wird sich schnell zurechtfinden. Die Nextcloud-App für Solr ist gut gepflegt, und die Community hat in den Foren der letzten Jahre viele Stolperfallen dokumentiert.

Dann gibt es noch die kleine Lösung, die man fast übersehen würde: die integrierte Suchfunktion von Nextcloud, die ohne externen Dienst auskommt. Diese verwendet die Datenbank des eigenen Servers, etwa MySQL oder PostgreSQL, und durchsucht die Metadaten und – sofern aktiviert – den extrahierten Text, der in einer eigenen Tabelle abgelegt wird. Das ist die einfachste Variante, aber sie stößt bei größeren Datenbeständen schnell an ihre Grenzen. Ein Selbstversuch zeigte: Schon bei 50.000 Dokumenten wird die Suche spürbar träger. Wenn man nun noch die Fotoerkennung mit einbezieht, ist diese Variante also nur für den kleinen Umfeld geeignet. Für eine private Cloud mit der Familie und ein paar tausend Fotos kann sie dennoch völlig ausreichen.

Eine unangenehme Beobachtung am Rande: Die Dokumentation für die verschiedenen Volltextsuch-Varianten ist über die Jahre hinweg etwas zerfasert. Man findet Blogbeiträge, die veraltet sind, Community-Foren mit widersprüchlichen Angaben, und nicht selten endet eine scheinbar klare Installationsanleitung in einem Haystack aus diversen Kommandozeilenoptionen. Das ist nicht immer ein Zeichen von schlechter Qualität, sondern typisch für ein Ökosystem, das sehr schnell wächst. Aber man sollte sich als Administrator darauf einstellen, ein wenig Detektivarbeit zu leisten.

Indizierung im Praxisbetrieb: mehr als nur ein „go“

Wer sich entschlossen hat, Elasticsearch als Backend zu nutzen, steht vor der nächsten Aufgabe: der eigentlichen Indizierung oder, im Fachjargon, dem Initialisieren des Index. Die Nextcloud-App bietet hierfür Kommandozeilen-Befehle, die sich über die occ-Konsole aufrufen lassen. Der Befehl occ fulltextsearch:index startet die Indizierung aller Dateien, die der Server kennt. Das kann bei größeren Datenbeständen eine Weile dauern, abhängig von der Leistung des Servers, der Anzahl der Dateien und der gewählten Dateityp-Extraktion. Ein Nextcloud-Administrator, der einen Bestand von einer halben Million Dokumenten hat, wird hier nicht selten einen ganzen Tag einplanen müssen. Die gute Nachricht: Die Indizierung läuft im Hintergrund, wenn man den entsprechenden Hintergrundjob in den Nextcloud-Einstellungen aktiviert hat. Man muss nur darauf achten, dass regelmäßig cron läuft und nicht etwa der Ajax-Login-Modus verwendet wird, sonst bleibt die Indizierung bei der ersten Änderung stehen.

Ein interessanter Aspekt ist die Verarbeitung von Office-Dokumenten und PDFs. Nextcloud kann nicht selbst den Inhalt dieser Dateien extrahieren, sondern benötigt dafür Hilfsprogramme wie libreoffice im Kopf, das kommt darauf an, wie man es nutzt. Bei der App „Full text search – Files“ werden die Dokumente durch einen Extraktor geschickt, der die Textinhalte aus den Dateien zieht. Aber Vorsicht: Die Extraktion von komplexen PDFs mit eingebetteten Tabellen oder gescannten Seiten ist ein weites Feld. Einfache, reine Text-PDFs sind kein Problem, aber komplexe Layouts können den Extraktor an seine Grenzen bringen. Oft liegt das nicht an Nextcloud, sondern an der zugrundeliegenden Bibliothek, die nur begrenzte Muster erkennt. Daher mein Tipp: Vor der Implementierung eine kleine Testdatei mit ein paar Sonderfällen durchlaufen lassen; so erlebt man keine bösen Überraschungen, wenn die Kollegen plötzlich meinen, die Suche würde „zerstörte“ PDFs ignorieren.

Für die Texterkennung von gescannten Seiten setzt die Nextcloud-Welt inzwischen auf Tesseract, ein Open-Source-OCR-System, das über die App „Full text search – Tesseract“ angebunden wird. Damit werden Bilddateien und gescannte PDFs in durchsuchbaren Text verwandelt. Das klingt verheißungsvoll, und tatsächlich ist die Qualität der Erkennung in den letzten Jahren deutlich gestiegen. Aber auch hier gilt: Die Qualität hängt von der Vorlage ab. Wenn die Vorlage schief eingescannt ist oder starke Komprimierungsartefakte aufweist, wird Tesseract vor Probleme gestellt. Es gibt durchaus Archivalisten, die zusätzlich eine Bildvorverarbeitung einsetzen, um den OCR-Prozess zu unterstützen – etwa das Drehen von Seiten oder das Herausfiltern von Rauschen. Nextcloud selbst übernimmt das nicht, aber man kann die Dateien ja vor dem Upload extern bearbeiten. Ein Aufwand, der sich in der Praxis nur lohnt, wenn man ein riesiges Altarchiv digitalisieren möchte.

Die Suche in externen Speichern und Federation

Nextcloud wird oft als zentraler Hub für verschiedene Datenquellen betrieben. Da wären SMB-Freigaben aus dem Windows-Umfeld, WebDAV-Server oder S3-kompatible Speicher. Die Volltextsuche indiziert standardmäßig nur die Dateien, die in der lokalen Nextcloud-Dateiablage liegen. Externe Speicher müssen extra konfiguriert und als „Volltextsuche“-Quelle freigegeben werden. Das ist etwas für Kenner, denn nicht jeder der externen Speicher bietet die gleichen Eigenschaften. Bei einem SMB-Server aus dem Jahr 2010 mit gemischten Dateien verschiedener Abteilungen kann es passieren, dass die Indizierung die Netzwerkfreigabe in die Knie zwingt, weil der Speicher mit einer riesigen Anzahl von kleinen Dateien überschwemmt wird. Hier ist vorab eine klare Planung wichtig: Welche Ordner sollen überhaupt durchsucht werden? Vielleicht reicht es, nur bestimmte freigegebene Verzeichnisse zu indizieren.

Ein weiterer Punkt, der oft vergessen wird: die Federation. Nextcloud-Server können sich untereinander verbinden, sodass Nutzer auf Dateien von anderen Instanzen zugreifen können. Die Volltextsuche funktioniert hier nur bedingt, denn der Index ist auf dem jeweiligen Server lokal. Eine föderierte Suche, die alle verbundenen Instanzen abklappert, gibt es derzeit nicht – zumindest nicht mit dieser Funktion. Das ist ein Manko, das man akzeptieren muss, das aber in den seltensten Fällen tragisch ist. In der Praxis nutzt man Federation meist für den Austausch von Ordnern mit Partnern, nicht für eine großflächige Unternehmenssuche.

Photos: Die Foto-App als neues Herzstück

Die Foto-Funktionen von Nextcloud haben eine eigene Reise hinter sich. Lange Zeit war es so: Die Fotos wurden einfach in Ordner gelegt, und wer Glück hatte, konnte mit der Galerie-App des eigenen Smartphones oder mit einer Nextcloud-App wie „Photos“ die Bilder chronologisch sortiert ansehen. Mehr war nicht drin. Dann kam die Nextcloud-Photos-App, die jetzt standardmäßig den Fotos-Bereich in der Benutzeroberfläche bereitstellt. Sie sammelt alle Bilder aus dem Benutzerordner und sortiert sie in einer Zeitstrahl-Ansicht, mit einer Landkarten-Ansicht und mit der Fähigkeit, Alben zu erstellen. Das alles funktioniert bereits ganz gut ohne externe Suche. Aber das eigentliche Potenzial entfaltet sich erst in Kombination mit der Volltextsuche und der Gesichts- sowie Objekterkennung.

Hier kommt die App „Recognize“ ins Spiel, die in Zusammenarbeit mit der Full-Text-Suche eine Brücke schlägt. Recognize ist eine Nextcloud-App, die auf Machine Learning basiert und direkt auf dem Server läuft – ohne Cloud-Anbindung, also datensparsam und für Datenschutz-affine Nutzer äußerst interessant. Sie erkennt Gesichter in Fotos, klassifiziert Objekte und Szenen (etwa „Strand“, „Stadt“, „Natur“) und schreibt die erkannten Begriffe als Metadaten in die Bilder beziehungsweise in die Suche. Das Ganze geschieht über neuronale Netze, die auf dem Server trainiert und dann verwendet werden. Der Clou: Diese erkannten Tags werden in den Volltextsuch-Index übernommen, sodass man schlicht „Strand“ in das Suchfeld tippen kann, und Nextcloud liefert alle am Strand aufgenommenen Fotos – auch wenn der Dateiname nur „IMG_20230721_1234.jpg“ ist und keine Ortsdaten in den EXIF-Daten stecken. Das ist ein Paradigmenwechsel, den Google-Fotos-Nutzer bereits kennen, der für Selbsthoster aber neu ist.

Wie gut funktioniert das in der Praxis? Ich habe Recognize auf einem Server mit einer CPU und ohne Grafikbeschleunigung getestet. Die Einrichtung war einfacher als gedacht: Die App wird installiert, ein Background-Job startet, und dann begann die Analyse. Bei einem Foto-Bestand von ungefähr 15.000 Bildern dauerte die Erstverarbeitung auf einem Vier-Kern-Server gute 20 Stunden. Das ist nicht berauschend, aber es muss nur einmal passieren – bei neuen Fotos läuft die Erkennung inkrementell im Hintergrund. Die Qualität der Objekterkennung ist erstaunlich gut. Ein Bild von einem Sonnenuntergang am Meer wurde problemlos mit „Sonnenuntergang“, „Meer“, „Wolke“ getaggt. Ein Schnappschuss einer Geburtstagstorte lieferte das Ergebnis „Kuchen“, „Kerze“, „Tisch“. Das sind keine Hollywood-reifen Visionen, aber für die Suche im Alltag reicht es völlig. Bei der Gesichtserkennung gibt es noch gelegentliche Aussetzer, gerade bei Personen mit Brille oder wenn das Gesicht stark ausgeleuchtet ist. Aber auch Google muss sich da nicht unbedingt verstecken – vor allem nicht, wenn man bedenkt, dass bei Recognize alles lokal läuft.

Wichtig ist zu erwähnen, dass Recognize nicht mit einem einfachen Hinsetzen und Installieren erledigt ist. Man muss auch hier über die Kommandozeile gehen, um die Erkennung manuell anzustoßen. Die Kommandos occ recognize:classify und occ recognize:detect-faces sind dabei die wichtigsten. Die Anbindung an die Volltextsuche ist dabei nicht automatisch; man muss zusätzlich die App „Full text search – Recognize“ installieren, die dafür sorgt, dass die erkannten Tags und Gesichtszuordnungen in den Suchindex aufgenommen werden. Ohne dieses Modul bleiben die erkannten Metadaten zwar in der Nextcloud-Datenbank gespeichert, aber sie werden nicht durchsucht. Ein klassisches Beispiel dafür, wie bei Nextcloud die Funktionalität erst durch das Zusammensetzen mehrerer Puzzleteile entsteht.

Foto-Metadaten und Geodaten: Kein Hexenwerk

Neben der KI-gestützten Erkennung spielen die klassischen Metadaten eine große Rolle. Fotos enthalten normalerweise EXIF-Daten: Die Kamera speichert Aufnahmedatum, Uhrzeit, Blende, Belichtungszeit und gegebenenfalls GPS-Koordinaten. Nextcloud kann diese Daten auslesen und in die Suche integrieren. So ist es möglich, nach einem Ort zu suchen, wenn die Bilder mit Ortskoordinaten versehen sind. Wer also eine Städtereise nach Lissabon macht und die Kamera die GPS-Daten speichert, kann in Nextcloud „Lissabon“ in das Suchfeld eingeben und bekommt alle Bilder mit passenden Geodaten angezeigt. Das funktioniert in der Karten-Ansicht der Photos-App ebenfalls gut. Allerdings: Viele Smartphones haben die GPS-Funktion aus Datenschutzgründen deaktiviert, oder die Bilder wurden über Messengerdienste übertragen, die diese Informationen entfernen. In diesem Fall ist man auf die Erkennung von visuellen Merkmalen angewiesen, also auf Recognize – dem ein weiteres Mal der Vorrang gebührt.

Ein wenig stiefmütterlich wird in der Nextcloud-Dokumentation die Funktion „Photo“ in der Suche behandelt, die über die App „Full text search – Photos“ bereitgestellt wird. Diese App kann die in den Bilddaten gespeicherten Untertitel und alternativen Texte (iPTC-Daten) durchsuchen. Das ist eine Funktion, die in der digitalen Fotografie häufig übersehen wird, aber gerade für Profis wichtig ist. Ein Fotograf, der seine Bilder mit Stichworten wie „Vertragsmesse“ oder „Porträt der Abteilungsleiterin“ beschreibt, kann diese Begriffe später als Suchanfrage verwenden. Sinnvoll ist das vor allem dann, wenn man sehr viele ähnliche Bilder hat und die KI-Erkennung an ihre Grenzen stößt. Oder man nutzt beides kombiniert: Die KI findet die „Feuerwerk“-Fotos, die man als solche nicht getaggt hat, und die eigene Stichwortsuche filtert dann präzise die „Hochzeitsfeuerwerk“-Aufnahmen von 2022.

Die Performance-Falle: Warum der Suchserver oft der Flaschenhals ist

Ein Thema, das in jedem Admin-Forum auftaucht, ist die Performance. Volltextsuche und insbesondere Machine Learning sind ressourcenintensiv. Da fragt man sich: Was muss ein Server können, damit die Suche erträglich bleibt? Die ehrliche Antwort: Die Hardware muss angemessen dimensioniert sein, aber man muss nicht gleich einen Supercomputer anspielen. Für eine typische Installation mit bis zu 100.000 Dateien und einer handvoll gleichzeitiger Nutzer reicht ein aktueller Midrange-Server mit 32 Gigabyte RAM und einer soliden SSD. Der Suchindex selbst wird bei dieser Größenordnung einige GB umfassen. Wenn man dann noch Recognize mit Gesichtserkennung betreibt, sollte man auf eine CPU mit einigen Kernen setzen – und dann auch die Bereitschaft haben, 80 Prozent Auslastung zu ertragen, während die Erkennung läuft. Man kann die Jobs auch auf Zeiten legen, in denen der Server nicht stark belastet ist, etwa nachts.

Eine weitere, häufig übersehene Stolperfalle ist die Speicherung der Indizes. Es wird empfohlen, den Index auf einem separaten Datenträger abzulegen, der nicht der gleiche ist wie die Datenbank oder das Dateisystem. Das reduziert I/O-Konflikte. Bei Elasticsearch lässt sich dies im Konfigurationsverzeichnis einstellen; bei Solr entsprechend in der Solr-Config. Das gilt umso mehr, wenn die Daten auch noch verschlüsselt abgelegt werden sollen – verschlüsselte Nextcloud-Daten lassen sich von der Volltextsuche nicht direkt durchsuchen, weil die Dateien auf dem Server nur in verschlüsselter Form vorliegen. Die Volltextsuche arbeitet dann idealerweise auf einem Server, der den unverschlüsselten Inhalt verarbeitet, bevor er verschlüsselt gespeichert wird. Wenn man jedoch Dienste wie „Server Side Encryption“ aktiviert hat, kann Nextcloud die Inhalte nicht zum Indizieren an die Suche durchreichen, da es sie nicht entschlüsseln kann. Ein entscheidender Zusammenhang, der oft zu Frustration führt: Die Volltextsuche und die serverseitige Verschlüsselung schließen sich praktisch aus. In den Nextcloud-Einstellungen kann man zwar Ordner von der Verschlüsselung ausschließen, aber das ist ein Flickenteppich. Die Lösung, die oft empfohlen wird: Encryption auf dem Client-Gerät zu belassen, also E2E-Verschlüsselung in der App zu aktivieren, oder auf andere Sicherheitsmaßnahmen zu setzen, die das Durchsuchen erlauben.

Troubleshooting und Alltag: Wenn die Suche nicht will, was man will

Es ist Zeit für einen Blick in den unmittelbaren Betrieb. Die Volltextsuche kann sehr gut funktionieren, aber es gibt Situationen, in denen sie scheinbar streikt. Drei Beispiele aus dem redaktionellen Alltag, die ich so oder so ähnlich in vielen Installationen gesehen habe. Erstens: Der Index ist nicht vollständig aufgebaut, weil der Cron-Job nicht korrekt eingerichtet ist. Man ruft die Suche auf, findet aber nur einen Teil der Dateien. Die Lösung ist trivial – sie liegt im System der Hintergrundjobs in den Admin-Einstellungen. Zweitens: PDF-Dateien werden nicht gefunden, weil der Extraktor nicht installiert oder nicht richtig konfiguriert ist. Der Installationsweg führt über die Kommandozeile und ist gut dokumentiert, aber bei einem Update von Nextcloud kann es passieren, dass die Pfade zu den Hilfsprogrammen (etwa zu tesseract oder LibreOffice) nicht mehr stimmen. Ein Blick auf die Weboberfläche des Fulltextsearch-Administrationsteils zeigt oft auf den ersten Blick, ob der Extraktor aktiv ist. Drittens: Es gibt viele Veraltete Indizes, die nicht mehr synchron sind. Wenn man viele Änderungen über WebDAV vornimmt und die Jobs nicht ordentlich laufen, bleibt der Index hinter dem Dateisystem zurück. Hier hilft es, die betroffenen Dateien über die occ-Kommandos zu re-indizieren oder, als letzter Ausweg, den Index zu löschen und neu aufzubauen – Letzteres ist bei einer großen Installation zwar zeitaufwendig, aber oft die schnellste Lösung, um wieder saubere Suchergebnisse zu bekommen.

Ein weiteres Phänomen, das man nicht unterschätzen sollte, ist die Suche nach mehreren Wörtern. Die Standardeinstellung der Suche verlangt, dass alle Begriffe in einer Datei vorkommen. Wenn man also nach „Bilanz 2024“ sucht, erhält man nur Dokumente, in denen beide Wörter auftauchen. Das ist bei Volltextsuch-Systemen üblich und funktioniert gut. Weniger gut funktioniert die Suche nach Teilwörtern, etwa nach „Bilan“ mit der Erwartung, auch „Bilanz“ zu finden. Elasticsearch unterstützt solche Wildcard-Suchen, aber Nextcloud bietet standardmäßig keine komfortable Oberfläche dafür. In der Praxis kann man sich behelfen, indem man Suchanfragen mit einem Sternchen plant, etwa „*Bilan*“, aber das ist nicht gerade intuitiv und gelegentlich auch ein Risiko, weil es den Index stark beansprucht. Man gewöhnt sich als Anwender daran, die Suche eher systematisch zu betreiben.

Sicherheit und Datenschutz: Segen und Fluch zugleich

Die Volltextsuche ist ein zweischneidiges Schwert für die Privatsphäre. Auf der einen Seite ist es großartig, dass man Inhalte von Dokumenten durchsuchbar macht, ohne sie in irgendeine Cloud zu schicken. Alles bleibt im eigenen Haus. Auf der anderen Seite bedeutet die Indizierung, dass sensible Daten – unverschlüsselt – in einem zusätzlichen Speicher liegen, auf den der Serverbetreiber und jeder Angreifer mit Zugriff auf den Server potenziell lesend zugreifen kann. Wer also eine Nextcloud-Instanz für Krankendaten oder andere besonders geschützte Informationen betreibt, muss sich darüber im Klaren sein, dass der Suchindex eine Angriffsfläche bietet. Eine Möglichkeit, dem entgegenzuwirken, ist die Verschlüsselung der Indizes – zumindest die Verbindung zwischen Nextcloud und Elasticsearch sollte unbedingt per TLS abgesichert werden. Innerhalb des Indexes selbst gibt es aber kaum eingebaute Verschlüsselungsmechanismen. Elasticsearch bietet dazu zwar die Möglichkeit, auf Dateiebene eine Verschlüsselung zu nutzen, aber das ist keine generische Lösung für alle Inhalte.

Ein weiterer Sicherheitsaspekt sind die Berechtigungen. Die Volltextsuche in Nextcloud sollte nur Dateien indizieren, für die der durchsuchende Benutzer auch tatsächlich lesend berechtigt ist. Das ist gar nicht so trivial, wie es klingt. In einer Standard-Installation kümmert sich die App darum, dass der Index für andere Benutzer nicht sichtbar wird. Ich empfehle trotzdem, die Sicherheitseinstellungen von Elasticsearch oder Solr zu überprüfen, denn diese Systeme haben traditionell sehr offene Standardeinstellungen. Es gibt immer wieder Berichte über offen erreichbare Elasticsearch-Instanzen im Internet, die Unmengen an Daten preisgeben. Wenn der Suchserver also nicht nur auf dem eigenen Host der Nextcloud lauscht, sondern über das Netzwerk erreichbar ist, dann bitte unbedingt mit Authentifizierung und Firewall absichern. Sonst könnte der eigene Index zu einer Fundgrube für Cyberkriminelle werden.

Nicht zuletzt sei auf die rechtliche Dimension hingewiesen. Wer Fotos von Menschen speichert und durchsuchbar macht, der muss die jeweiligen Datenschutzregeln im Blick haben. Die Gesichtserkennung von Recognize erstellt eindrucksvolle Gesichtsmodelle, aber diese sind in der Lage, Personen auch nach Jahren wiederzuerkennen. In einem Unternehmen dürfte das ohne eine klare Betriebsvereinbarung oder zumindest eine Einwilligung der Betroffenen hochproblematisch sein. Selbst im privaten Umfeld sollte man sich überlegen, ob man die Gesichtserkennung aktiviert, wenn man Personen fotografiert, die explizit nicht erkannt werden möchten. Das klingt ein wenig paranoid, aber bei diesen technischen Fähigkeiten ist ein verantwortungsvoller Umgang umso wichtiger.

Nextcloud Photos in der Praxis: Ein Beispiel aus dem Redaktionsalltag

Vielleicht ist an dieser Stelle ein konkretes Szenario hilfreich, um die Bedeutung von „Full Text Search – Photos“ zu unterstreichen. Stellen wir uns vor: Ein Journalist nutzt Nextcloud als zentralen Ablageort für sein komplettes Arbeitsmaterial. Das umfasst Textdateien, PDFs, Audio-Aufnahmen von Interviews und natürlich zahlreiche Fotos – mal von Veranstaltungen, mal von Besprechungen, mal vom Schreibtisch mit einer Infografik. Nach einem Jahr hat sich eine unübersichtliche Sammlung angesammelt, die nur vage in Ordnern sortiert ist. Dann der Moment der Recherche: Er erinnert sich an einen Besuch eines Logistikunternehmens und an ein Foto, das den Geschäftsführer vor einem Hochregallager zeigt. Der Dateiname ist unauffällig, es gab keine weiteren Metadaten. Dank der Volltextsuche mit Recognize könnte er nun einfach „Hochregallager“ in die Suche eingeben. Der Index liefert alle Bilder mit diesem Objekt-Tag – und das gesuchte Foto erscheint. Dazu gibt es vielleicht auch noch die Textdatei, die er vom Gespräch mit dem Geschäftsführer angefertigt hat, in der das Wort „Hochregallager“ vorkommt. Das wäre eine Entdeckung, die den Suchfluss auf eine neue Ebene hebt. Nextcloud vereint damit die Sphären der unstrukturierten (Fotos) und der strukturierten (Dokumente) Daten – und das ist ein Wert, den man nicht hoch genug schätzen kann.

Einschränken muss man einräumen, dass dieser Traum von der universalen Suchmaschine auch seine Grenzen hat. Die Erkennungsqualität hängt stark von der Belichtung der Fotos ab, von der Anzahl der gleichzeitig abgebildeten Objekte und vom Trainingsstand des Modells. Recognize ist ein Community-Projekt, das auf Modellen wie SqueezeNet oder ResNet aufsetzt, die bereits älter sind. Die Konkurrenz von Google oder Apple, die über riesige Datenmengen und Milliarden von Beispielen verfügt, ist da in der Detailgenauigkeit voraus. Aber für den Einsatz im Selbsthosting-Bereich, wo es eben nicht darum geht, Milliarden von Katzenbildern automatisch zu klassifizieren, sondern den Alltag zu erleichtern, ist das Ergebnis mehr als zufriedenstellend.

Die Zukunft: Auf dem Weg zu einer semantischen Suchplattform

Was können wir in den nächsten Jahren erwarten? Nextcloud arbeitet stetig daran, die Suchfunktionen zu verbessern. Ein großes Thema ist die semantische Suche: nicht nur nach exakten Begriffen suchen, sondern auch nach ähnlichen Begriffen oder nach dem Kontext. So könnte man in einer deutschen Installation demnächst „das, wo der Chef mit dem roten Auto fährt“ eingeben und die Suche verbindet die Erkenntnisse aus Gesichts-, Objekt- und Farberkennung, um das richtige Foto auszuspucken. Das klingt futuristisch, ist aber im Grunde eine konsequente Weiterentwicklung der vorhandenen Module. Auch die Integration von Sprachassistenten wäre denkbar, sodass man mithilfe des Smartphones oder über die Nextcloud-Voice-App per Spracheingabe suchen kann. Die technische Grundlage ist bereits da; es fehlt vor allem an einer weiter verfeinerten Benutzeroberfläche und an einer robusten Erkennung von Suchanfragen mit natürlicher Sprache.

Interessant ist auch die Entwicklung im Bereich der KI-Modelle. Datenschutzfreundliche, lokale Modelle werden immer besser und kompakter. Während man früher für eine akzeptable Objekterkennung einen Tensor-Prozessor oder eine starke GPU benötigte, kann Recognize heute schon mit deutlich geringeren Ressourcen arbeiten. Das liegt an optimierten Modellen wie MobileNet oder YOLO, die speziell für den Einsatz auf günstiger Hardware entwickelt wurden. Die Zukunft wird also nicht an mangelnder Rechenleistung scheitern, sondern eher an der Frage, wie man diese Modelle so trainiert und in die Software integriert, dass sie auch in heterogenen Umgebungen zuverlässig funktionieren. Und da ist Nextcloud gut aufgestellt, weil es eine aktive Community gibt, die Apps wie Recognize und die dazugehörigen Suchmodule mitentwickelt und verbessert.

Fazit: Die Suche lohnt sich – aber sie will bedacht sein

Am Ende bleibt ein gemischter Eindruck: Die Volltextsuche von Nextcloud ist kein Werkzeug, das man einfach so installiert und vergisst. Es braucht eine sorgfältige Planung, ein geeignetes Backend und ein gewisses Verständnis für die zugrunde liegende Technik. Wer sich aber die Mühe macht, erhält eine Suchfunktion, die in der Lage ist, fast alles zu finden, was auf dem Server liegt. Die Kombination mit den Foto-Funktionen und der KI-basierten Analyse macht Nextcloud zu einem der wenigen selbst gehosteten Systeme, die eine ernsthafte Alternative zu den großen Cloud-Diensten darstellen – was die Fähigkeiten betrifft, aber nicht den Komfort. Man muss sich als Nutzer darauf einlassen, dass die Empfehlungen der KI-Modelle nicht immer nachvollziehbar sind. Es mögen nicht alle Tags exakt dem eigenen Wortschatz entsprechen, aber die Suche ist flexibel genug, um auch über Umwege zum Ziel zu gelangen.

Für Administratoren, die Nextcloud für ihre Organisation betreiben, ist der Einstieg in die Volltextsuche nicht optional, sondern eine Investition in die Produktivität. Ein System, das Wissen speichert, aber nicht wieder aufspüren kann, wächst sich schnell zu einem Datengrab aus. Dass die Suche dabei auch noch das Fotoalbum revolutioniert, ist ein Nebeneffekt, den man sich nicht entgehen lassen sollte. Man muss nur bereit sein, das Zusammenspiel der einzelnen Apps zu verstehen und ein wenig Zeit in die Konfiguration zu investieren. Der Lohn ist spürbar – und im Zweifel heißt es dann eben: „Such doch einfach mal in der Cloud nach ‚Hochregallager‘.“