Child pages
  • Die Herausforderungen mit der Confluence-Suche Lucene
Skip to end of metadata
Go to start of metadata

Hintergrund

Die Nutzung der in Confluence implementierten Lucene-Suchmaschine führt immer wieder zur Irritationen bezüglich der Priorisierung der Suchergebnisse. Zuweilen werden bestimmte Suchanfragen schlecht bis gar nicht unter den Suchergebnissen gelistet. Die Ursachen für eine nicht treffende Suchanfrage hängen zum einen mit der Confluence internen Priorisierung, teilweise aber auch mit der Konfiguration und den gesetzten Grenzen des Suchalgotythmus zusammen. Um Ihnen Hilfestellung bei der Analyse zu bieten, möchten wir an dieser Stelle die an //SEIBERT/MEDIA herangetragenen Anfragen und deren Lösungsansätzen für Sie listen.

Überblick:

Listung verschiedener Anfragen

Instanz des Kunden

Confluence 3.5.x

Frage
Suchkriterium: Space XY Wann: letzter Monat, Suchtext: „40“ => 3 Suchergebnisse
Diese Seite wird nicht gefunden, obwohl in der Überschrift „40“ steht.
Sucht man nach einem Text in der Seite – nicht in der Überschrift – mit den gleichen Suchkriterien, findet er die Seite

Vorläufige Antwort
Es handelt sich hierbei um einen weiteren Aspekt des Lucene Suchalgorithmus, der den Titel der Wiki-Seite bei der Suchabfrage scheinbar geringer priorisiert, als den Inhalt. Zahlenwerte im Titel werden nach Prüfung nur in Kombination mit "Strings" im Titel gefunden.

Lösung: Nach derzeitigem Stand wurde das Problem nach Upgrade auf Confluence 4.2 behoben.

Systematische Tests weiterer Szenarien (//SEIBERT/MEDIA)

Szenario 1 ?[ Makro-Suche ]

  • Confluence in Version 3.5.13.
  • Indizierungssprache Englisch
  • Meinten-Sie-Index deaktiviert
  • Eine Wiki-Seite mit Namen "Seite mit Code-Makro" existiert
Inhalt des Wikidokumentes
h1. Ohne Überschrift

{code}EXECUTE dbms_mview.refresh('SCHEMA.MVIEW_NAME', 'C');{code}

h1. Mit Überschrift

{code:title=Awesome}EXECUTE dbms_mview.refresh('SCHEMA.MVIEW_NAME',
'C');{code}

h1. Mit Zeilennummern

{code:linenumbers=true}EXECUTE dbms_mview.refresh('SCHEMA.MVIEW_NAME',
'C');{code}

Folgende Tests wurden durchgeführt:

Suche nach

Ergebnis

kein Ergebnis

[1] dbms_mview

 

X

[2] dbms

X

 

[3] dbms_

X

 

[4] refresh

 

X

[5] dbms_mview.refresh

 

X

Gründe:
1. Confluence unterstützt nur eine Teilwortsuche am Anfang eines Wortes (siehe [2], [3]).
2. Alle Sonderzeichen werden ignoriert (".", ",", "_", "-" wird als Leerzeichen " " interpretiert) (siehe [3]).

Senario 2 [ Überschriften und Mehrsprachigkeit ]

  • Confluence in Version 3.5.13.
  • Indizierungssprache Englisch
  • Meinten-Sie-Index deaktiviert
  • Eine Wiki-Seite mit Namen "Seite mit Text - Entwicklermeeting" existiert
Inhalt des Wikidokumentes
h2. Entwicklung
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam
fermentum vestibulum est. Cras rhoncus. Pellentesque habitant morbi
tristique senectus et netus et malesuada fames ac turpis egestas.

h2. Entwicklertreffen
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam
fermentum vestibulum est. Cras rhoncus. Pellentesque habitant morbi
tristique senectus et netus et Entwicklungmalesuada.

h3. Materialized Views
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam
fermentum vestibulum est. Cras rhoncus. Pellentesque habitant morbi
tristique senectus et netus et Entwicklungmalesuada fames.

Folgende Tests wurden durchgeführt:

Suche nach

Ergebnis

kein Ergebnis

[1] Entwickler*

X

 

[2] Ent

X

 

[3] En

X

 

[4] E

 

X

[5] ent

X

 

[6] entwick*

X

 

[7] Materi*

 

X

[8] materi*

X

 

[9] materia

 

X

[10] material

X

 

[11] material*

 

X

[12] material*

 

X

Gründe:
1. Mindestens zwei Buchstaben sind für die Suche erforderlich.
2. Großbuchstaben sind bei der Teilwortsuche nicht erlaubt (siehe [7]).
3. Es gibt eine Reihe von Bugs, die z.B. durch 'Word Stemming' [5] verursacht werden. Dabei bedient sich Confluence verschiedener Wörterbücher, um die Suche und deren Ergebnisse 'smarter' zu machen. (siehe [6], [8] und [10]) Der Gedanke, dass z.B. das Wort 'materia' weniger Sinn macht als 'material' ist an sich logisch und greift deswegen an dieser Stelle. Leider ist die Systematik noch fehlerhaft implementiert, was unter Umständen auf die Mehrsprachigkeit zurückzuführen ist.

Konkrete Fallbeispiele

Beispielhafte "Fallstricke" und Erläuterungen

Quellen