24
ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND PDF-DATEIEN

ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND PDF-DATEIEN

Page 2: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

Zu meiner Person

• 59 Jahre alt

• seit 40 Jahren Erfahrung in der IT-Branche

• Schwerpunkt Hosting, Betrieb und Entwicklung

• Contao-Erfahrung seit 2008

• Einsatz überwiegend im Enterprise-Umfeld

• Extension - Entwicklung überwiegend im Kundenauftrag

• Betreuung & Hosting von 100+ Instanzen in Europa mit~ 45.000 Usern

• Betreuung & Hosting von 10+ Websites für Unternehmen, Vereine, Organisationen, …

• Sogenannter „DEV-OP“

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 2

Page 3: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

(Haupt)grund für diese Extension?

• Ein Kunde veröffentlich News überwiegend im PDF-Format* sowie meistens mit Anlagen in verschiedenen Officeformaten• Einheitliche Formatierung• Interner Workflow besser abbildbar• Optimales Druckergebnis beim Endanwender• Teilweise vertragsergänzende Bestandteile

• Zusätzliche Bereitstellung einer Dokumentenbibliothek sowie eines Archives

• Verwaltung von derzeit 50.000+ Dateien in 20.000+ News in den Produktionsinstanzen

• Viele Nachfragen von Agenturen, Unternehmen, etc.*Entwicklung eines Content-Elementes zur direkten PDF-Anzeige sowie Ausweitung der Berechtigungen auf einzelne Newsbeiträge

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 3

Page 4: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

Anforderungen an die Erweiterung

• Indexierung sowohl von PDF-Dateien als auch verschiedener Officeformate (Excel, Word, …)

• Native Einbindung in die Contao Suche/Indexierung

• Optimierung des Ergebnisses (z.B. Zeilenumbrüche bei Silbentrennungen)

• Anpassung / Filterung bestimmter Begriffe bzw. Ersatz durch eigene Begriffe

• Betrieb möglichst unter allen aktuellen Server-betriebssystemen

• Einfaches Handling / Implementation

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 4

Page 5: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

pdftotext, abiword, xls2csv, docx2txt, xlsx2txt, …

Vorteile:

• Meist einfache Handhabung

• Wurde z.B. in Typo3 genutzt

Nachteile:

• Für jedes Format eigenes Tool und Syntax

• Teilweise veraltet

• Teilweise ungenaue / unvollständige Ergebnisse

• Teilweise nur unter Linux lauffähig

• Erfordert oft die Nachinstallation weiterer Pakete

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 5

Page 6: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

smalot pdf-parser

Vorteile:• Vollständig in PHP implementiert• Installation via Composer• Aktives Projekt• Website: http://www.pdfparser.org/Nachteile:• Nur für PDF-Dateien geeignet• Ergebnisse teilweise nicht zufriedenstellend*

* Bezieht sich immer auf die im Kundenumfeld veröffentlichten Dateien

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 6

Page 7: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

Apache Tika – Server

Vorteile:

• Umfangreiches Toolkit zur Content-Analyse

• Unterstützt von der Apache Foundation

• Aktives Projekt, regelmäßige Updates

• Unterstützung nahezu aller Dateiformate(https://tika.apache.org/1.15/formats.html)

• Dient u.a. als Basis für Such- und Analysesysteme wie z.B.:• ElasticSearch (https://www.elastic.co/de/) • Apache Lucene / solR (http://lucene.apache.org/solr/)

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 7

Page 8: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

Apache Tika – Server (Forts.)

Vorteile:

• Sehr schnelle Content-Extrahierung (Server)

• In Java implementierter Server-Prozess

• Einfache Installation (eine jar-Datei starten)

• Auch als Client-Anwendung verfügbar (allerdings nicht so performant)

• Einfache API / erkennt Dateiformat automatisch

• Open Source

• Website: http://tika.apache.org/

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 8

Page 9: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

Apache Tika – Server (Forts.)

Nachteile:

• Java – Runtime in aktueller Version erforderlich (sowohl für Client als auch Server)

• Nicht bei allen Hostern möglich / vorhanden

• Installation unter Windows-Server etwas aufwändig

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 9

Page 10: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

Contao – Extension search_plus

• Basiert auf den Erfahrungen meiner Apache solR-Extension

• Teilweise Fork der search_plus – Extension von Heimrich & Hannot GmbH• heimrichhannot/contao-search_plus

https://github.com/heimrichhannot/contao-search_plus• LGPL (http://www.gnu.org/licences/lgpl-3.0.html)• Nur für PDF – Dateien, benutzt smalot/pdfparser

• Nutzt die Vaites PHP Tika-Bindings(https://github.com/vaites/php-apache-tika/)

• Und natürlich Apache Tika (https://tika.apache.org/)

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 10

Page 11: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

Funktionsweise

• Bei einem Upload von Dateien im Contao – Datei-Manager wird jede Datei:• geprüft ob sie den konfigurierten Dateiformaten entspricht

• Falls ja wird der Inhalt und die Metadaten der Datei(en) in die tl_files – Tabelle geschrieben oder diese werden aktualisiert

• Inhalte werden anhand der Konfiguration optimiert

• Tika-Prozess wird nur einmalig beim Dateiupload angestoßen

• Ergebnisse der Extrahierung werden im Contao Log protokolliert (wichtig falls bestimmte Dateien nicht von Tika verarbeitet werden können)

• Tika – Server muss laufen oder Client muss verfügbar sein

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 11

Page 12: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

Funktionsweise (Forts.)

• Sofern Datei(en) auf einer Webseite verlinkt sind, werden diese zusätzlich gemäß dem Contao – Standard in den Such-Index mit aufgenommen.

• Dabei wird auf die Meta-/Inhaltsdaten aus der tl_fileszurückgegriffen

• Sollten diese (noch) nicht vorliegen, wird in diesem Falle trotzdem der Tika-Server/Client getriggert

• Für die Extrahierung bestehender Meta- und Inhaltsdaten für bereits existierende Files steht ein entsprechender Job zur Verfügung (anschließend ist ein Neuaufbau des Such-Indexes im Backend empfehlenswert)

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 12

Page 13: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

Funktionsweise (Forts.)

• Nach der Extrahierung stehen alle Contao Such-möglichkeiten auch für verlinkte Dateien zur Verfügung (siehe separater Vortrag zur Suche)

• Integration ausschließlich über Hooks, keine Änderung am Core-System (= Contao Standard)• postUpload – Hook

• indexPage – Hook

• Derzeit für Version 3.5.x freigegeben

• Verfügbar in Deutsch und Englisch

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 13

Page 14: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

Backend - Einstellungen

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 14

Page 15: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

Modul - Einstellungen

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 15

Page 16: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

Systemwartung

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 16

Page 17: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

Testupload verschiedener Dateien

• Lorem ipsum dolor sit amet.docx

• Lorem ipsum dolor sit amet.pdf

• Lorem ipsum dolor sit amet.zip

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 17

Page 18: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

Dateiupload / Indexierung (Word-Dokument)

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 18

Dateiname: Lorem ipsum dolor sit amet.docx

Page 19: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

System Log

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 19

Page 20: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

Datenbankbeispiel (tl_files)

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 20

Page 21: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

Suche nach z.B. „Lorem“

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 21

Page 22: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

Ausblick auf zukünftige Erweiterungen

• Metadaten- und Contentextrahierung auch aus gescannten PDF-Dateien (OCR) mittels Tesseract(https://github.com/tesseract-ocr/tesseract)

• Bereitstellung eines Dienstes zur Metadaten- und Contentextrahierung für den Fall dass eine lokale Installation (oder beim Hoster) von Java/Tika nicht möglich ist

• Integration von ElasticSearch sowie Lucene/solR als performantere Suchmaschinen

• Suche über mehrere Contao-Instanzen (in Verbindung mit ElasticSearch / Lucene/solR)

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 23

Page 23: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

Verfügbarkeit der Erweiterung

• Apache Tika-Server• http://tika.apache.org/

• http://tika.apache.org/download.html

• search_plusIn Kürze auf github. Vorabversionen gerne auf Anfrage an [email protected]

• vaites/php-apache-tikaIn der Erweiterung bereits enthalten

15.06.2017 Erweiterung Contao-Suche auf PDF- und Officedateien / Michael Pfeiffer 24

Page 24: ERWEITERUNG CONTAO INDEXIERUNG - SUCHE AUF OFFICE- UND … · •Wurde z.B. in Typo3 genutzt Nachteile: •Für jedes Format eigenes Tool und Syntax •Teilweise veraltet •Teilweise

Vielen Dank