Nextcloud Live Elasticsearch (Volltextsuche) + Metadata/OCR

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)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert