Die Nextcloud ist ein hervorragender Ort um eine Große Menge an Dokumenten zu speichern und diese mit Kollegen und/oder Kunden zu teilen. Und mithilfe der App „Full text search“ kann man diese vollständig durchsuchen.
- Full text search
- Full text search – Files
- Full text search – Elasticsearch Platform
Installieren Sie zunächst einmal die folgenden drei Apps:
Danach muss das Elasticsearch Backend bereitgestellt werden.
Hier im Beispiel mit Docker, eine native Installation ist jedoch auch möglich.
Elasticsearch Docker Installation
Passen Sie auf dem Docker Host folgendes für den Elasticsearch Container an:
sysctl -w vm.max_map_count=262144
Erstellen Sie anschließend das Docker Projekt
mkdir /docker/elasticsearch
Erstellen Sie dann eine passende Docker-Compose Datei.
vi /docker/elasticsearch/docker-compose.yaml
Hinweis: Passen Sie den Image Tag gegebenenfalls an die neueste Version an.
Single Node Elasticsearch Docker-Compose YAML
---
services:
elasticsearch:
image: elasticsearch:8.12.2
container_name: elasticsearch
environment:
- discovery.type=single-node
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- xpack.security.enabled=false
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- data01:/usr/share/elasticsearch/data
ports:
- 127.0.0.1:9200:9200
networks:
- elastic
volumes:
data01:
driver: local
networks:
elastic:
driver: bridge
Starten Sie nun Elasticsearch.
docker compose up -d
Nextcloud Volltextsuche Konfiguration
Konfigurieren Sie nun Elasticsearch in der Volltextsuche App.
Gehen Sie dazu in der Nextcloud auf Verwaltungseinstellungen und dann zum Reiter Volltextsuche. Und konfigurieren Sie die App entsprechend, wie im folgenden Screenshot zu sehen.
Nextcloud Volltextsuche Indexierung
Es muss sowohl die erste Indexierung manuell ausgeführt werden als auch ein Dienst für das automatische Aktualisieren des Indexes erstellt werden.
Die erste Indexierung kann je nach Datenmenge der Nextcloud sehr lange dauern. Daher ist empfohlen, folgenden Befehl zum Beispiel in einem Screen auszuführen. Wie das geht, erfahren Sie hier in einem anderen unserer Blog Artikel.
sudo -u www-data php /var/www/nextcloud/occ fulltextsearch:index
Legen Sie einen Systemdienst an, welcher den Index automatisch um neue Dateien aktualisiert.
vi /etc/systemd/system/nextcloud-fulltext-elasticsearch-worker.service
[Unit]
Description=Elasticsearch Worker for Nextcloud Fulltext Search
After=network.target
[Service]
User=www-data
Group=www-data
WorkingDirectory=/var/www/nextcloud
ExecStart=/usr/bin/php /var/www/nextcloud/occ fulltextsearch:live -q
ExecStop=/usr/bin/php /var/www/nextcloud/occ fulltextsearch:stop
Nice=19
Restart=always
[Install]
WantedBy=multi-user.target
Dienst Autostart aktivieren und Dienst starten
systemctl enable nextcloud-fulltext-elasticsearch-worker.service
systemctl start nextcloud-fulltext-elasticsearch-worker.service
Weitere interessante Artikel zum Thema Nextcloud finden Sie hier.
Falls Sie Fragen haben oder Unterstützung bei der Einrichtung der Nextcloud Volltextsuche benötigen, können Sie uns kontaktieren.
- Nextcloud Volltextsuche mit Elasticsearch - 26. März 2024
- Nextcloud SAML: Single Sign-On mit Azure AD - 19. März 2024
- Dropbox mit Rclone verbinden - 17. November 2023