SQL Free Text und LIKE
-
06-07-2019 - |
Frage
Wenn ich wie ‚% Fisch%‘ wird Folgendes zurückgegeben
AQUARIAN GOLDFISCH FLAKES
aber wenn ich Enthält ([Beschreibung], ‚‚Fisch *‘‘), ist es nicht gibt es etwas, was ich tun kann?
Grundsätzlich möchte ich etwas zurückgeben, die das Wort Fisch überall in ihm hat.
Lösung
Was ist
CONTAINS([Description], '"fish"')
oder
FREETEXT([Description], 'fish')
Hat das Sie etwas?
SQL Server Volltext Indizierung nicht unterstützt mit einem führenden Platzhalter für einen Ausdruck suchen, z.B. Sie können keine CONTAINS([Description], '"*fish*"')
oder so ähnlich gehen: - (
Was könnten Sie auch tun, ist Ihr eigenes Synonym für die Volltextsuche definieren, zum Beispiel definieren „Goldfisch“ ein Synonym für „Fisch“ zu sein -. als Sie in der Lage sein sollten, nur für „Fisch“ zu suchen und auch „Goldfisch“
findenSELECT (list of fields) FROM YourTable
WHERE CONTAINS([Description], 'FORMSOF(THESAURUS, fish)')