Persönliche Stimmen und Meinungen von Mitarbeiterinnen und Mitarbeitern.
17 Nov

Devoxx. Tag 2. Intelligence mit Facetten finden.

Der zweite Tag stand unter dem Motto "Facettensuche und Business Intelligence".

Ein besonders gelungener Vortrag von Erik Hatcher von Lucid Imagination berichtet über Solr, sozusagen eine verbesserte Lucene-Suchengine. Warum verbessert? Nun, Solr basiert im Grunde genommen auf Lucene und erweitert diese in wesentlichen und in meinen Augen wichtigen Bereichen. Die wichtigsten sind hier aufgeführt:
- bietet ein HTTP-basiertes API für die Indexpflege
- eingebautet Caching- und Clustering-Funktionalitäten
- Master-Slave Replikation in sehr grossen Systemen (Americal Online repliziert weltweit solche Indexe und die sind nicht klein...)
- Facettensuche
- Verteilte Suche (für sehr grossen Implementationen)

Das Bauen einer guten Suchapplikation ist nach wie vor eine grosse Herausforderung. Obwohl viele Endanwender immer wieder "Es muss wie Google funktionieren" sagen, ist es im Detail dann doch etwas komplexer und komplizierter. Erik propagiert in seinem Vortrag folgende Herangehensweise:

1. Gehe immer vom Benutzerfrontend aus
Was heisst das? Nun, zuerst muss klar sein, wie der Benutzer überhaupt die Suche bedienen soll/kann. Welche Möglichkeiten stehen ihm zur Verfügung? Dies hat schon mal einen grossen Einfluss auf die Grundkonfiguration eines Solr-Systems.

2. Anforderungen an den Index sammeln
Was soll denn indexiert werden? Binäre Dokumente wie PDF, Word, etc. Soll die Such case-sensitiv sein oder nicht? Müssen unterschiedliche Sprachen unterstützt werden (Stemming)? Wie oft ändern sich diese Daten?

3. Anforderungen an die Suche sammeln
Hier kommt einiges auch aus dem ersten Punkt dazu. Soll der Benutzer sich eher browsend (via Facetten) oder mit einer strukturierten Suche im System bewegen? Oder beides? Welche Anforderung bestehen bezüglich Sortierung und Filterung? Müssen gewisse Relevanzen (z.B. ältere vs. neuere Dokumente) berücksichtigt werden?

Diese Punkte haben einen enormen Einfluss auf das zu bauende System und sollten möglichst früh adressiert werden im Projekt.

Solr, aktuell in der Version 1.4, kann praktisch an allen Stellen erweitert werden. Das macht das System aus meiner Sicht sehr interessant und wird daher vermutlich längerfristig reine Lucene Implementierungen verdrängen.

Der zweite Vortrag handelt von Java Business Intelligence und dem OpenSource Tool Pentaho.
Matt Casters führt durch Pentaho, mit dem speziellen Fokus auf Pentaho's Data Integration Komponente Kettle (ein von im initiiertes Open Source Project). Pentaho ist eine Open Source Business Intelligence Implementierung und besteht aus mehrere eigenständige Komponenten:
- Reporting,
- Analysis,
- Dashboards
- Data Integration
- Data Mining

Die Reportingkomponente (ehemals JFreeReport) dient der Erstellung von interaktiven und ad-hoc Reports in verschiedene Ziel-Formate (PDF, HTML, DOC, XSL). Ein Eclipse-basierender Report Designer vereinfacht die Erstellung von Reports. Die Analysis Komponent (mondrian) bietet OLAP (Relational OLAP) Funktionalität. Dashboards bietet eine Plattform für die Erstellung von Dashboards (auch Cockpits genannt), es lasen sich einfach interaktive Dashboards mit integriertem Monitoring of KPI's erstellen. Sehr interessant ist die Data Integration Komponente Kettle, sie ist eine vollumfängliche ETL-Lösung (Extract Transform). Sie integriert und säubert Data von verschiedenen Quellen und Formate (35+ Datenbank Typen, Flat Files, XML, etc.), die dann in den anderen Tools zur Verfügung stehen. Die ETL Prozesse lassen sich mit Kettl Spoon graphisch erstellen und bearbeiten. Das Data Mining helft Muster in Daten zu erkennen, welche wiederum als Muster bei Kundensegmentierung verwendet werden kann. Alle Komponenten sind Open Source (Reporting und Data Integration LGPL) und lassen sich auch integriert in eigene Lösungen einsetzen.

Ach du schöne Open Source Welt...

Jetzt kommentieren