![]() |
Datenbank: SQL Server • Version: 2012 • Zugriff über: ADO
SQL Server Volltextsuche: Platzhalter für beliebige Zeichenfolge im Suchbegriff??
Hallo!
Ich habe für eine Tabelle auf dem SQL Server einen Volltextindext eingerichtet und führe Suchanfragen mittels CONTAINS aus. Nun bin ich auf der Suche nach einer Möglichkeit den Suchbeggriff so zu definieren, dass Wortkombinationen mit unbekannten Zeichen im Wort gefunden werden. Z.B. brauche ich einen Suchbegriff, der sowohl "MQR2E1" als auch "MQR-2E1" oder "MQR 2E1" findet. Ist das überhaupt möglich oder komme ich um die RegEx nicht herum in dem Fall? Bis jetzt habe ich die regulären Ausdrücke benutzt und war sehr unzufrieden damit. Die Anfragen dauerten ewig bei einer DB mit etwa 5M Einträge. Danke! |
AW: SQL Server Volltextsuche: Platzhalter für beliebige Zeichenfolge im Suchbegriff??
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)) |
AW: SQL Server Volltextsuche: Platzhalter für beliebige Zeichenfolge im Suchbegriff??
Es kommt drauf an.
In verschiedenen DBMS kann man bei der Volltextsuche eingreifen, als was wie indiziert wird, oder man implementiert einfach alles selber.
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz