Erweiterung eines bestehenden SAP MM Materialkataloges auf Basis von Lucene um eine performante Hochleistungs-Volltextsuche.
Mein Kunde wünschte sich eine deutlich verbesserte Suchmöglichkeit im Warenbestand seines SAP-Systems, in dem bisher nur eingeschränkt mit Hilfe der Standard-SAP-Suche TREX gesucht werden konnte. Die Lösung funktioniert so, dass in regelmässigen Intervallen Informationen über geänderte Materialien in einen externen Such-Index übernommen werden, der dann aus einer SAP-Transaktion heraus durchsucht werden kann.
Als Basis der Suche dient die bewährte Opensource-Bibliothek Lucene, eingebunden durch die Möglichkeiten des Compass-Frameworks. Da beide Bestandteile in Java implementiert sind, wurde auch die darüber liegende Geschäftslogik in Java geschrieben und läuft auf einem SAP Enterprise Portal. Die Kommunikation zwischen SAP und Java stellt der SAP Java connector (JCO) sicher, der sowohl den Zugriff von Java nach ABAP herstellen kann (outbound connection), als auch einen Zugriff von ABAP auf Java-Funktionen (inbound connection). Zur Koordinierung der Indizierungsintervalle dient die Jobsteuerung Quartz.
Aufgrund der mächtigen Funktionen in den genutzten Opensource-Komponenten war die Implementierungsdauer vergleichsweise gering, nach wenigen Mannwochen stand die erste produktionstaugliche Fassung zur Verfügung. Auch wenn jetzt mehrere Systeme mit RFC-Verbindungen verbunden werden, ist die Gesamtperformance dennoch um Größenordnungen besser als zuvor: Während komplexe Suchanfragen vorher durchaus erst nach etlichen Minuten wenige relevante Ergebnisse lieferten, stehen relevante Ergebnisse jetzt schon nach wenigen Zehntelsekunden zur Verfügung — weitgehend unabhängig von der Größe des Gesamtindex, der trotz Millionen von Einträgen doch erheblich weniger Speicherplatz verbraucht als der TREX-Index zuvor.