Einzelnen Beitrag anzeigen

Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
436 Beiträge
 
Delphi 12 Athens
 
#2

AW: SQL Server Volltextsuche: Platzhalter für beliebige Zeichenfolge im Suchbegriff??

  Alt 15. Jul 2016, 15:48
SQL-Server Volltextindizes funktionieren m.E. nur mit Präfixausdrücken: z.B. "MQR*" aber nicht mit "MQR*2EI" oder "*2EI". Das macht auch Sinn. So wird nur jedes Wort indiziert und nicht jeder Buchstabe jedes Wortes.

Sofern deine Suche immer nach diesem Schema läuft, kannst du folgende Variante einsetzen:

1. Erstelle eine Funktion auf dem SQL-Server, welche alle Sonderzeichen, Leerzeichen usw. aus einem String entfernt und den "sauberen" String zurückgibt.

2. Erstelle ein zusätzliches Feld in der Tabelle, in den der "saubere" String (per Trigger) automatisch eingefügt/aktualisert wird. Der Trigger benutzt dazu die o.g. Funktion. Dieses neue Feld bekommt dann auch den Volltextindex.

3. Die CONTAINS-Abfrage benutzt auch die o.g. Funktion, um die Suchbegriffe zu bereinigen. Beispiel: CONTAINS(Table1, dbo.GetSauberenSuchbegriff(@Suchbegriff))
  Mit Zitat antworten Zitat