データベースにシソーラス テーブルがあり、FREETEXT を使用してデータを収集したいと考えています。ただし、検索している文字列にはスペースが含まれています。
たとえば、コード「AB 001」を検索したい
select *
from TheThesaurus
where freetext(TheDefinition, 'AB 001')
このコードは "AB" と "001" の両方を検索するため、より多くのジャンク結果が得られます。文字列を二重引用符で囲んでみましたが、うまくいきません。
select *
from TheThesaurus
where freetext(TheDefinition, '"AB 001"')
完全な「AB 001」文字列を検索するにはどうすればよいですか??
LIKE を使用したところ、目的の結果が得られましたが、私の場合ははるかに高速で正確な結果が得られるため、全文検索を試してみたいと思います。
select *
from TheThesaurus
where TheDefinition LIKE '%AB 001%'
ありがとう!
編集
を使用してみCONTAINS
ましたが、追加の結果が得られたので、なぜ返されたのか理解できませんでした。このCONTAINS
機能は私にとっても機能しません:/
select *
from TheThesaurus
where Contains(TheDefinition, 'AB%001')