wiki:hilfe:plugins:optional:docsearch
Auf dieser Seite sehen Sie die schreibgeschützte und geprüfte Version eines Artikels aus dem Einsatzleiterwiki-Projekt. Wenn Sie einen Artikel bearbeiten bzw. am Projekt aktiv mitarbeiten möchten, so besuchen Sie bitte das bearbeitbare Wiki. Für weitere Informationen zum Projekt allgemein rufen Sie bitte diese Seite auf.
no way to compare when less than two revisions
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | wiki:hilfe:plugins:optional:docsearch [08.10.2021 11:32] (aktuell) – angelegt christoph_ziehr | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== docsearch-Plugin: | ||
+ | Mit dem docsearch-Plugin können Dokumente, die als Medien-Dateien im Wiki hinterlegt sind, durch die Volltextsuche durchsuchbar gemacht werden (z.B. Word, Excel, Powerpoint und PDF-Dateien). | ||
+ | |||
+ | [[doku> | ||
+ | |||
+ | <WRAP center round important 100%> | ||
+ | Im Gegensatz zu den meisten anderen DokuWiki-Plugins ist es beim docsearch-Plugin nicht ausreichend, | ||
+ | |||
+ | Dies bedingt ein Administrator-Konto. Wird das Wiki auf einem normalen Webhosting-Paket betrieben, wird die Installation mit großer Wahrscheinlichkeit nicht durchführbar sein. | ||
+ | </ | ||
+ | |||
+ | ==== Funktionsweise des docsearch-Plugins ==== | ||
+ | |||
+ | Die DokuWiki-Software kann standardmäßig nur den [[wiki: | ||
+ | |||
+ | Das Plugin erreicht technisch gesehen auf folgendem Weg, dass auch Mediendateien durchsucht werden können: | ||
+ | |||
+ | - Starten des Programms durch eine zeitgesteuerte, | ||
+ | - Das Programm erstellt nun eine Liste von allen Mediendateien im Wiki | ||
+ | - Für die Dateitypen, für die ein // | ||
+ | - Die so erzeugte Textdatei kann nun von der DokuWiki-eigenen Funktion zur Erstellung des Suchindexes verarbeitet werden | ||
+ | - Die Inhalte der Mediendateien werden in den Suchergebnissen angezeigt | ||
+ | |||
+ | ==== Grenzen des docsearch-Plugins ==== | ||
+ | |||
+ | Da die Erzeugung des Suchindexes für Mediendateien ebenfalls auf dem Auslesen von maschinenlesbaren Inhalten basiert, können nur solche Dateien in den Suchindex aufgenommen werden, die auch lesbaren Text enthalten. Ein PDF, welches ein eingescanntes Dokument, also ein Bild enthält, kann durch die Suche nicht indiziert werden. Hier wäre zusätzlich die Nutzung einer Texterkennungssoftware notwendig. Dies verkompliziert die Konfiguration jedoch weiter und sorgt für einen vielfachen Ressourcenverbrauch. | ||
+ | |||
+ | ===== Installation des Plugins ===== | ||
+ | |||
+ | Dieses Plugin ist in der Standard-Einsatzleiterwiki-Installation nicht enthalten. Installieren Sie das Plugin, wie in der Anleitung [[wiki: | ||
+ | |||
+ | ===== Konfiguration des Plugins und Installation von Drittprogrammen in Linux-Betriebssystemen ===== | ||
+ | |||
+ | <WRAP center round important 100%> | ||
+ | Die hier beschriebenen Schritte gelten für Ubuntu-/ | ||
+ | </ | ||
+ | |||
+ | Zum Auslesen von PDF-Dateien wird das Paket '' | ||
+ | |||
+ | < | ||
+ | sudo apt-get install poppler-utils libreoffice | ||
+ | </ | ||
+ | |||
+ | Legen Sie nach der Installation der Hilfsprogramme (ausgehend von Ihrem Wiki-Stammverzeichnis) im Verzeichnis '' | ||
+ | |||
+ | <file sh converter.sh> | ||
+ | # übergebene Argumente in Variablen schreiben | ||
+ | INPUTFILE=" | ||
+ | OUTPUTFILE=" | ||
+ | |||
+ | # Dateiname ohne Pfad ermitteln | ||
+ | INPUTFILENAME=`basename " | ||
+ | |||
+ | #Pfad (ohne Dateiname) für die Ausgabedatei ermitteln | ||
+ | OUTPUTPATH=`dirname " | ||
+ | |||
+ | # Dateiendung der Eingabedatei ermitteln | ||
+ | INPUTFILEEXT=${INPUTFILE## | ||
+ | |||
+ | # Dateiname ohne Dateiendung ermitteln | ||
+ | FILENAME=${INPUTFILENAME%.*} | ||
+ | |||
+ | # je nach Dateityp den entsprechenden Befehl ausführen | ||
+ | # siehe dazu auch https:// | ||
+ | case $INPUTFILEEXT in | ||
+ | pdf) | ||
+ | pdftotext -enc UTF-8 $INPUTFILE $OUTPUTFILE | ||
+ | ;; | ||
+ | doc|dot|docx|docm|dotx|dotm|xls|xlm|xlt|xlsx|xlsm|xltx|xltm|ppt|pot|pps|pptx|pptm|potx|potm|ppsx|ppsm|odt|ott|ods|ots|csv|odp|otp|odg) | ||
+ | libreoffice --headless --convert-to " | ||
+ | mv $OUTPUTPATH/ | ||
+ | ;; | ||
+ | esac | ||
+ | </ | ||
+ | |||
+ | Definieren Sie nun, dass die Datei bzw. das Script als Programm ausgeführt werden darf. Da dafür vermutlich root-Rechte notwendig sind, verwenden Sie folgenden Befehl. Achten Sie darauf, den Pfad entsprechend an Ihre Ordnerstruktur anzupassen, der folgende Pfad wird nur beispielhaft verwendet: | ||
+ | |||
+ | < | ||
+ | sudo chmod 755 / | ||
+ | </ | ||
+ | |||
+ | Legen Sie ebenfalls im Verzeichnis '' | ||
+ | |||
+ | <file php converter.php> | ||
+ | #<?php die(); ?> | ||
+ | pdf / | ||
+ | doc / | ||
+ | dot / | ||
+ | docx / | ||
+ | docm / | ||
+ | dotx / | ||
+ | dotm / | ||
+ | xls / | ||
+ | xlm / | ||
+ | xlt / | ||
+ | xlsx / | ||
+ | xlsm / | ||
+ | xltx / | ||
+ | xltm / | ||
+ | ppt / | ||
+ | pot / | ||
+ | pps / | ||
+ | pptx / | ||
+ | pptm / | ||
+ | potx / | ||
+ | potm / | ||
+ | ppsx / | ||
+ | ppsm / | ||
+ | odt / | ||
+ | ott / | ||
+ | ods / | ||
+ | ots / | ||
+ | csv / | ||
+ | odp / | ||
+ | otp / | ||
+ | odg / | ||
+ | </ | ||
+ | |||
+ | Passen Sie auch hier den Pfad in jeder Zeile an Ihre Ordnerstruktur an. | ||
+ | |||
+ | Möchten Sie bestimmte Dateitypen von der Aufnahme in den Suchindex ausschließen, | ||
+ | |||
+ | ==== Funktion testen ==== | ||
+ | |||
+ | Nun kann die Konfiguration getestet werden. Auch hier werden alle Befehle wieder als root ausgeführt. Der Befehl kann standardmäßig nicht durch den Benutzer des Webservers www-data (unter Ubuntu/ | ||
+ | |||
+ | Zum Test wird nun das Kommando ausgeführt (auch hier müssen Sie natürlich wieder Ihren Installationspfad anpassen): | ||
+ | |||
+ | < | ||
+ | sudo php / | ||
+ | </ | ||
+ | |||
+ | Nun werden Sie einigen Text auf Ihrem Bildschirm durchlaufen sehen. Die Meldung '' | ||
+ | |||
+ | Nachdem das Programm durchgelaufen ist, können Sie Ihr Wiki öffnen und eine Suche nach einem Begriff durchführen, | ||
+ | |||
+ | ==== Suchindex für Media-Dateien regelmäßig automatisiert erzeugen ==== | ||
+ | |||
+ | Damit Sie das Kommando nicht jedes Mal per Hand ausführen müssen, können Sie diesen Schritt auch automatisieren. Dazu muss der Befehl in die //crontab// eingetragen werden. Diese können sie wie folgt öffnen: | ||
+ | |||
+ | < | ||
+ | sudo crontab -e | ||
+ | </ | ||
+ | |||
+ | Falls Sie noch nie die Crontab geöffnet haben, werden Sie beim ersten Mal gefragt, welchen Editor Sie verwenden möchten: | ||
+ | |||
+ | < | ||
+ | no crontab for root - using an empty one | ||
+ | |||
+ | Select an editor. | ||
+ | 1. / | ||
+ | 2. / | ||
+ | 3. /bin/ed | ||
+ | |||
+ | Choose 1-3 [1]: | ||
+ | </ | ||
+ | |||
+ | Geben Sie nun die Ziffer **1** ein und drücken Sie **Enter**. | ||
+ | |||
+ | Fügen Sie nun folgende Zeile am Ende der Datei ein (Pfad wieder anpassen): | ||
+ | |||
+ | < | ||
+ | 0 2 * * * php / | ||
+ | </ | ||
+ | |||
+ | Damit wird der Suchindex für Mediendateien täglich um 2 Uhr neu erzeugt. | ||
+ | |||
+ | Die fünf Zahlen (oder Sternchen) bedeuten dabei: | ||
+ | |||
+ | < | ||
+ | * | ||
+ | - | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | +------------- Minute (0 - 59) | ||
+ | </ | ||
+ | |||
+ | Weitere Informationen dazu finden Sie unter [[https:// | ||
+ | |||
+ | Speichern Sie nun die Crontab mit der Tastenkombination '' | ||
+ | |||
+ | Die Einrichtung ist damit abgeschlossen. |
wiki/hilfe/plugins/optional/docsearch.txt · Zuletzt geändert: 08.10.2021 11:32 von christoph_ziehr