Install Elasticsearch
Installiere Elasticsearch mit diesem Tutorial:
https://www.elastic.co/docs/deploy-manage/deploy/self-managed/install-elasticsearch-with-docker
Versionshinweise
Ältere CPUs, die kein „X, AVX2, BMI1, BMI2, FMA“ wird version 19.x.x nicht unterstützt. Jede Version aus der 18.x.x-Reihe und davor ist kompatibel.
So finden wir auf einem Linux-System heraus, ob „X, AVX2, BMI1, BMI2, FMA“ unterstützt wird:
lscpu | grep -E "avx2|bmi2|fma"Code-Sprache: JavaScript (javascript)
Basis-OS der Bilder
In dem Tutorial wird das „docker.elastic.co/elasticsearch/elasticsearch-wolfi:9.4.0“-image angegeben. Das ist ein sicherheitsgetriebenes System ohne richtiges darunterliegendes Betriebssystem.
Auf z. B. ProxMox kann dieses System nicht verwaltet werden, somit muss man die „wolfi“-Erweiterung entfernen, um ein Ubuntu-basiertes Image zu erhalten.
Fulltextsearch in der Nextcloud installieren
Als Admin anmelden und unter „Apps“ die folgenden apps runterladen
- Full text Seach → Bases des Suche
- Full text Seach – Elasticsearch Platform → Verbindung zu Elasticsearch
- Full text Seach – Files → Verarbeitung der Dateien
- Full text Seach – Files – Metadata → Verarbeitung der Metadaten der Dateien (optional)
- Full text Seach – Files – Tesseracr OCR → OCR auf Dateien, die Bilder oder PDFs anwenden (optional)
Fulltextsearch manuell triggern
Initial wollen wir das Indexing einmal manuell ansteuern und es idealerweise später automatisch triggern, bzw. live neue Daten verfolgen.
Command auf dem System (im Applikations-LXC bei ProxMox oder im Docker)
php /app/www/public/occ fulltextsearch:indexCode-Sprache: PHP (php)
Live-Fulltextsearch beim Start des Systems ausführen
Nextcloud bietet die Möglichkeit, via AJAX, Webcron und Cron Hintergrundaufgaben auszuführen. (Admin-Einstellungen → Grundeinstellungen)
Fall: Cron
Cron-Einstellungen überarbeiten und eine Zeile hinzufügen.
Die Cron-Aufgabe stoppt zuerst alle Indexing-Aufgaben bzw. löscht (wegen eines Crashes, Hard Stops) erzeugte „.Lock“-Dateien und startet danach das Live-Indexing.
crontab -e
@reboot php /app/www/public/occ fulltextsearch:stop > /dev/null 2>&1 && php /app/www/public/occ fulltextsearch:live > /dev/null 2>&1 &Code-Sprache: JavaScript (javascript)