Quantcast
Channel: Für Entwickler: SQL Server Forum
Viewing all articles
Browse latest Browse all 1772

Problem mit CONTAINS ->Syntax error

$
0
0

Ich versuche viele Dokumente in einer filetable nach bestimmten Begriffen zu durchsuchen.

Es handelt sich um - Geburtsdaten

- Aktenzeichn

- Nachnamen

Dazu verwende ich etwas in der  Art "SELECT * FROM myfiletable WHERE CONTAINS(file_stream,<suchstring>)"

Das funktioniert nicht schlecht, schlägt aber mit einem Syntax error in der Nähe von <suchstring> fehl, falls ein >SPACE> enthalten ist.

Beispiel: Suche nach "I4711" -> geht

Suche nach "I 4711" -> Syntax error

Meine Recherchen haben ergeben, daß CONTAINS wohl den Suchstring nicht unbedingt als "I 4711" interpretieren möchte, sondern gerne als "I or 4711". Somit würde die Verknüpfung fehlen und der Syntax error wäre erklärt.

Wie aber suche ich nach exakt dem Suchstring "I 4711"? CONTAINS geht eigentlich sehr schnell während eine Suche mit LIKE '%I 4711%' elend lange dauert.

Ich schätze, daß liegt daran das CONTAINS den Volltextindex benutzt, während LIKE alles durchkämmt.

Andererseits müsste ich dann versuchen, dem Volltextindex all die Daten, Aktenzeichn und Namen einzuverleiben.

Oder mache ich da einen generellen Denkfehler ?


Viewing all articles
Browse latest Browse all 1772


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>