Suchen und schnell finden - Liferay Suche mit Lucene 

Mitarbeiter arbeiten effektiv und effizient, wenn sie Informationen schnell finden. Eine komfortable Suche ist eine Schlüsselfunktion für ein erfolgreiches Wissensmanagement in Ihrem Unternehmen. Eine starke Suchmaschine mit vielen Funktionen gehört in Ihr Mitarbeiterportal. Eine leistungsstarke Lösung  ist die Lucene.

Die Suche in Liferay

Die Jakarta Lucene ist eine Open Source, leistungsstarke, voll funktionsfähige Text-Such-Engine, geschrieben in Java. Sie ist eine Technologie, die für fast jede mögliche Anwendung verwendbar ist, die Volltextsuche erfordert. Lucene unterstützt standardmäßig viele Suchoptionen.

 

Welche Suchmöglichkeiten und Operatoren bietet die Lucene Engine in Liferay?

 

Operatoren

Lucene Search Engine in Liferay

Fuzzy Suche

undeutliche Suche zu formulieren mit Tilde-Symbol ("~")
Beispiel: seit~ liefert: Seite, seinen, weitere, Leiter...


Ja
Markierung des Suchwortes entfällt

Boolesche

Verknüpfen von Wörtern mit UND, OR, AND


Ja

Proximity Suche/Distanzsuche

"Guten wiedersehen"~10
Zeigt Ergebnisse, in dem die beiden Wörter Guten und wiedersehen maximal 10 Wörter voneinander entfernt liegen.




Ja

Wildcard

Platzhalter (*) z. B. te*

Ja, aber nicht am Anfang des Wortes:
z. B. *wort, *gang geht nicht
z. B. Haus*, Baum* geht

Feldsuche

Lucene unterstützt Felddaten

Ja, z. B. Suche kann über Volltext oder Seitentitel gesteuert werden.

Bereichssuche

 

Nein, standardmäßig nicht. Dazu müssen die Felder definiert werden.

Verstärkungsfaktor

Um einen Verstärkungsfaktor zuzuordnen, wird das "^"-Symbol verwendet
Tag^4 du = Tag ist 4 x stärker gewichtet

 


Ja

Weitere Funktionen  

Indexierung

Mit Indexierungsverfahren wird durch die Ermittlung von
Worthäufigkeiten und Wortrelevanz eine Auswahl getroffen und somit Wörter in den Index aufgenommen.
Anhand des erstellten Index kann dann die Volltextsuche, wie später beschrieben, effizient durchgeführt werden.

Ja
Bei der Installation von Liferay erstellt die Lucene Engine automatisch aus den Inhalten in der Datenbank einen Index.
Neue Dokumente werden sofort indiziert.
Änderungen werden auch sofort berücksichtigt

Tokenisierung

Zerlegen einen oder mehrere Texte in kleine Einheiten,
so genannte Tokens. Diese werden anschließend
gespeichert in der der Token-Dokument-Beziehung.

Ja

Anfrageanalyse oder effiziente Suche

Analyse von Text-, PDF-, Word-, Excel- und OpenOffice-Dokumenten

Ja
Für jedes Dokumentformat existiert ein "Analyzer". Dieser durchsucht und indexiert in optimierter Weise verschiedene Dokumentformate.

Rekursives Crawling

Suche durch mehrere Verzeichnisse und externe Laufwerke.

Nein, dazu muss die Lucene Engine erweitert werden.

Paging

Blättern durch Ergebnislisten


Ja

TagCloud

Eine Schlagwortwolke – ist eine Methode zur Informationsvisualisierung, bei der eine Liste aus Schlagworten, oft alphabetisch sortiert, flächig angezeigt wird, wobei Wörter, die häufiger gesucht werden größer angezeigt werden als weniger häufig gesuchte.


Ja

Semantische Suche - Beispiel

Eine Suchanfrage nach ‚Baum' an eine bedeutungserschließende Suchmaschine verwendet zur Suche auch Begriffe, die im Zusammenhang mit ‚Baum' genannt werden, auch wenn sie in der Anfrage selbst nicht genannt werden. Es werden als Ergebnis auch die Wörter (z. B. Ahorn, Eiche, Linde) beinhalten angezeigt.

  Nein

Gruppierungen von Elementen

Elemente können gruppiert werden.
Dazu werden Klammern mit den üblichen Regeln benutzt:
"(hallo OR du) AND ich" ( sucht alle Dokumente, in denen "ich" vorkommt, sowie "hallo" oder "du".

Ja

 

Verhalten von Liferay und Lucene

  • Liferay erkennt, dass eine neue Ressource in die Suche aufgenommen werden soll.
  • Liferay 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.
  • Liferay ruft Lucene auf und übergibt die aus der neuen Ressource extrahierten suchrelevanten Daten; dabei kann Liferay noch angeben, ob diese eine besondere Gewichtung - "boost" - haben sollen. Außerdem wird Text, welcher aus wenigen Einzelworten 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 Liferay übergebenen Text und schreibt Informationen über die Häufigkeit der im Text enthaltenen Worte sowie deren Relevanz in den Index.

 

Indexierung

Die Indexierung dient der Aufbereitung des Suchraums und wird typischerweise zu Beginn und bei Änderungen des Suchraums durchgeführt. Anhand des erstellten Index kann dann die Volltextsuche effizient durchgeführt werden. In Lucene können große bzw. viele Dokumente im zweistelligen Mio. Bereich in einem System indexiert werden.

 

Abbildung: Allgemeiner Aufbau einer Volltextindexierung

 

Lucene Indexierung

 

Die eigentliche Suche in Liferay

  • Benutzer gibt in Liferay einen Suchbegriff ein.
  • Liferay gibt den Begriff an Lucene weiter.
  • Lucene bereitet den Begriff ggf. auf (Operatoren wie AND, OR, Wildcards etc.)
  • Lucene holt sich Informationen über den Begriff aus dem Index und gibt eine Liste von Treffern zurück.
  • Die Liste ist dann so geordnet, dass relevante Treffer am Anfang stehen.
  • Nach dem ein Index erstellt ist kann darüber gesucht werden.
  • Die Suche geschieht in Lucene mittels spezieller Anfragen (Queries).
  • Eine Anfrage in Lucene besteht aus Termen (einfachen Wörter) und Phrasen (Sequenzen von Termen), die durch logische Operatoren verbunden sind.
  • Gesucht werden kann mit verschiedenen Operatoren wie Boosting, Proximity/Distanz, Fuzzy und Span Queries.
  • Zusätzlich kann man die Suche auf bestimmte Felder durch Voranstellen von Feldnamen: einschränken.

 

Darstellung der Suchergebnisse in Liferay

  • Standardmäßig werden in Liferay die Suchergebnisse nach den relevantesten Treffern gelistet
  • Standardmäßig ist das Suchwort markiert oder hervorgehoben
  • Die Quelle ist ersichtlich, wenn die Suche über mehrere Websites geht
  • Standardmäßig wird die Trefferanzahl angezeigt

Klaus-Hillemeier-web
Klaus Hillemeier
Geschäftsführung
Vertrieb/Finanzen


E-Mail an: Klaus Hillemeier Tel: +49 7151 96528-0