Max ·

Ich habe gerade die Jung & Naiv Suche aktualisiert. Sie nutzt jetzt Version 0.8 von flexsearch, die den Fehler aus 0.7 behebt, dass beim Exportieren vom Suchindex selbst hinzugefügte Felder fehlen.

Durch den Bug der vorherigen Version musste der Index deshalb im Browser erstellt werden. Wer bisher auf die Seite kam, hat gesehen, dass im ersten Schritt alle Untertiteldateien aller Videos geladen wurden. In einem zweiten Schritt wurde dann noch lokal ein neuer Suchindex erstellt, indem alle geladenen Dateien durchlaufen und zum Index hinzugefügt wurden.

Durch den Bugfix der neuen Version können Indizes korrekt exportiert und importiert werden. Deshalb kann der Index jetzt heruntergeladen und importiert werden. Der zweite prozessorlastige Schritt fällt also weg und der erste Schritt lädt jetzt den fertigen Suchindex herunter, statt die rohen Untertiteldateien.

Der neue Nachteil ist, dass der gesamte Index für alle "Jung & Naiv" Videos mit 500 MB ziemlich groß geworden ist. Vor der Suche muss also ein halber Gigabyte heruntergeladen werden. Das ist nicht besonders datenschonend.

flexsearch hat mit der Version 0.8 die Möglichkeit erhalten Indizes auf verschiedene Arten persistent zu speichern. Statt in mehreren Dateien kann ein Suchindex auch im Browser mit IndexedDB, aber auch auf dem Server mit SQLite, Redis oder Postgres importiert und durchsucht werden.

Ich werde deshalb dem Projekt demnächst eine Datenbank hinzuzufügen, sodass der halbe Gigabyte große Index auf dem Server liegt und nur noch Suchbegriff und Ergebnisse zwischen Server und Browser ausgetauscht werden. Weil das Projekt aber noch bei Vercel liegt, statt auf meinem Server, braucht es auch ein neues Server-Setup, um das kostengünstig zu ermöglichen. Wenn ich das Projekt auf einen neuen Server umziehe, sollte der gleich mit Coolify oder Dokploy gemanagt sein. Außerdem läuft das Projekt noch mit Svelte 4, was nicht mehr aktuell ist. Und dann wärs natürlich noch schön, wenn neue Videos automatisch zum Suchindex hinzugefügt werden würden, statt dass ich ab und zu manuell Skripte dafür ausführen muss.

Es gibt also noch einiges zu tun, um das Projekt wirklich automatisiert und zugänglich für alle zu machen. Ich bleibe weiter dran, weil das ganze Self-Hosting-Thema mich sowieso sehr interessiert und ich darin noch deutlich mehr Erfahrung sammeln möchte.

Du kannst meine Notizen mit jedem RSS Reader abonnieren. Mein Favorit ist Reeder.