Die Suche in OpenCms - Lucene und Solr

comundus realisiert auf Basis von OpenCms Intranet und Internetauftritte. In beiden Unternehmenslösungen spielt die Suche eine zentrale Rolle. Eine intelligente Suchfunktion kann darüber entscheiden, ob aus Besuchern Kunden werden und Mitarbeiter effizient und effektiv ihr Wissen teilen können.

 

OpenCms Suche mit Lucene

 

Lucene und OpenCms-rgb

Die Suche in OpenCms basiert auf dem Lucene Framework. Die Jakarta Lucene ist eine leistungsstarke, voll funktionsfähige Text-Such-Engine, geschrieben in Java. Sie ist eine Technologie, die für fast jede mögliche Anwendung verwendbar ist. Lucene ist allerdings keine fertige Suchmaschine, sondern stellt Klassen und Funktionen zur Verfügung, um für beliebige Projekte eine eigene Suchmaschine zu bauen. Lucene unterstützt standardmäßig reichhaltige Suchoptionen.

 

Verhalten von OpenCms und Lucene

  • OpenCms erkennt, dass eine neue Ressource in die Suche aufgenommen werden soll.
  • OpenCms schaut, um welche Ressourcenart es sich handelt und extrahiert suchrelevante Daten - bei XmlContent z.B. Titel, Body, Dateipfad des Anhangs etc., bei Bildern z.B. Bildname, Bildpfad, etc. als Text.
  • OpenCms ruft Lucene auf und übergibt die aus der neuen Ressource extrahierten suchrelevanten Daten; dabei kann OpenCms noch angeben, ob diese eine besondere Gewichtung - "boost" - haben sollen. Außerdem wird Text, welcher aus wenigen Einzelwörtern besteht, höher gewichtet. So z.B. beim Titel, der oft nur aus einem Wort besteht im Gegensatz zum Content, der aus tausenden Wörtern bestehen kann.
  • Lucene untersucht den von OpenCms übergebenen Text und schreibt Informationen über die Häufigkeit der im Text enthaltenen Worte sowie deren Relevanz in den Index.

 

Folgende Operatoren bietet die Lucene Engine in OpenCms:

  • Fuzzy Suche
  • Boolesche Suche
  • Proximity Suche/Distanzsuche
  • Wildcard Mehr zum Thema Wildcardsuche finden Sie im Lucene Wiki
  • Feldsuche
  • Bereichssuche
  • Verstärkungsfaktor

Erklärungen zu den Operatoren finde Sie hier: Lucene

Integration von Solr für eine verbesserte Suche

Für die Unternehmen ist es eine gute Nachricht, dass Solr in OpenCms 9.5 integriert ist. Hier spielen zwei ausgereifte Open Source Produkte zusammen.
Für eine hochskalierbare Suche kommt die führende Open Source Software Solr als Enterprise Search Application zum Einsatz. Solr nutzt die Lucene Such-Bibliothek und erweitert diese um Funktionen wie zum Beispiel facettierter Suche, Caching, Replikation und einer Web-Administrations-Oberfläche. Sie bietet eine REST-ähnliche Programmierschnittstelle (API), so dass die Indexierung und die Suchabfragen über XML, JSON oder HTTP möglich ist. Diese API erleichtert die Entwicklung von komplexen Suchanforderungen sehr.
Apache Solr kann auch als eigenständiger Server installiert werden und lässt sich so einfacher warten. Außerdem ist dies in Umgebungen, in denen Performance, Skalierbarkeit und Lastverteilung eine große Rolle spielen ein großer Vorteil.
In einer lokal installierten Demo von OpenCms kann man sich von den Vorzügen der Solr Suche überzeugen. Folgender Link steht dafür zur Verfügung:

Wir empfehlen unseren Kunden ihre Installation auf Version 10 zu aktualisieren. OpenCms 10 ist voll abwärtskompatibel zu allen vorherigen 9er, 8er und 7er Versionen. Templates und andere OpenCms Anwendungen aus diesen Versionen sollten ohne weiteres auf Version 10 laufen.


Kai-Schliemann
Kai Schliemann
Produktmanager OpenCms

E-Mail an: Kai Schliemann Tel: +49 7151 96528-0

>> Kontaktformular