gofur
I'm new here

Exalead: Sonderzeichen im Index und Wildcard-Suche

Jump to solution

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

0 Kudos
1 Solution

Accepted Solutions

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

View solution in original post

0 Kudos
3 Replies
marro
Crownpeak employee

Hallo Reza,

ich konnte das Problem hier nachstellen, allerdings habe ich auf Anhieb keine Exalead-Konfiguration gefunden, die das erwartete Verhalten liefert. Wir werden uns in dieser Sache direkt an Exalead wenden und melden uns nochmal, sobald wir eine Antwort erhalten haben.

Viele Grüße,

Donato

0 Kudos

Hallo Donato,

Vielen Dank schon mal. Ich bin gespannt!

Viele Grüße

Reza

0 Kudos

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 Kudos