Exalead: Sonderzeichen im Index und Wildcard-Suche
Author: gofur
Publication Date: 8/2/2012 10:06
Hallo,
Folgendes Problem haben wir aktuell mit der Exalead-Suche:
Im Index befinden sich Seiten mit den Titeln der Form:
- XY-123
- XY-1234
In einer speziellen Suche stellen wir automatisch Wildcards (*) an die Suchstrings an, so dass beispielsweise bei der Eingabe von "XY-1" nach "XY-1*" gesucht wird. Dabei ist uns aufgefallen, dass sowohl über das Suchservlet als auch über "Exalead CloudView Search" ein Titel im Index mit Hilfe von Wildcards immer nur dann gefunden wird, wenn wir den Teil des Worts bis zum Sonderzeichen eingeben oder das gesamte Wort. Teile des Worts führen zu einem leeren Suchergebnis, wenn das Sonderzeichen plus weitere Zeichen (aber noch nicht das ganze Wort) mit eingegeben wurden
Beispiele:
Suche nach "XY-*"
Ergebnis: "XY-123", "XY-1234"
Suche nach "XY-1*"
Ergebnis: leer
Suche nach "XY 1*"
Ergebnis: leer
Suche nach "XY-123*"
Ergebnis: "XY-123"
Erkenntnis:
- Beim Einsatz von Wildcards werden Wörter mit Sonderzeichen (wie Bindestriche) im Index über die Suche gefunden, wenn nach dem Teil des Worts gesucht wird, aber maximal bis inklusive dem Sonderzeichen.
- Sucht man nach einem Teil des Worts, geht der Teil des Worts aber über das Sonderzeichen hinaus, so wird nichts gefunden.
- Sucht man nach dem gesamten Wort, so wird genau der passende Eintrag gefunden.
- Dabei ist es irrelevant, ob das Sonderzeichen im Suchstring enthalten ist oder durch ein Leerzeichen ersetzt wird.
Konfiguration
- FirstSpirit 4.2
- Enterprise Search 2.01 mit Standardkonfiguration (bis auf eigene Konnektoren und Indexfelder)
Hat Exalead Probleme, wenn Wörter im Index Sonderzeichen aufweisen?
Vielen Dank und viele Grüße
Reza Nazarian
-
Author: gofur - 8/27/2012 9:39
Das Ergebnis liegt inzwischen vor (Vielen Dank!). Die Lösung liegt in der Anpassung der Datei linguistics.xml. Im Folgenden wird die Vorgehensweise dafür beschrieben. Zu bedenken ist, dass der gesamte Index gelöscht werden muss:
- exalead-Instanz stoppen.
- Die Datei <exalead_home>/config/Linguistic.xml anpassen:
<charOverrides>
</charOverrides>
durch
<charOverrides>
<StandardTokenizerOverride type="token" toOverride="-" />
</charOverrides>
ersetzen.
- dann <exalead_dir>/bin/buildgct starten
- Über die Cloudview-Oberfläche den Index komplett scratchen und reindexieren (z.B. über einen Auftrag in FirstSpirit)
Mit dem StandardTokenizerOverride-Tag können auch weitere Sonderzeichen auf diese Weise behandelt werden. Nachzulesen ist diese und weitere Konfigurationsmöglichkeiten in der linguistics.xml in der Online-Doku von exalead unter Semantic Guide : Linguistic Configuration Files : Linguistic.xml
0
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.
Kommentare
1 Kommentar