In Fulltext worden alle niet-alfanumerieke tekens in de indexen verwijderd en vervangen door spaties .Dus in uw zoekopdracht, aangezien u "." in de string zoekt u naar "website" en "net".
Je kunt dit op 2 manieren oplossen.
U moet een aparte tabel of apart veld hebben met de volledige tekstgegevens, gescheiden van de originele tabel waar u de originele gegevens bewaart.
In de fulltext tabel kun je de ". . verwijderen " en bewaar "websitenet ".
In dat geval moet u alle "." uit de zoekreeks voordat u de zoekopdracht uitvoert. Als u wilt zoeken met ".", moet u "." vervangen. met een tekenreeks -bijvoorbeeld "punt".
Dus in dit geval zou u "websitedotnet . opslaan ".
Wanneer u deze keer zoekt, vervangt u alle "." met "punt" in de zoekopdracht.
OK nu uw geval met een nieuw veld waar u de kolom opslaat die moet worden doorzocht op FTS, dus:
ID DESCRIPTION DESCFTS
-----------------------------------------------------
1 this is a website. this is a websitedot
2 a website exists. a website existsdot
3 go to mywebsite.net go to mywebsitedotnet
4 go to mywebsite.net. go to mywebsitedotnetdot
dan uw vraag:
declare @search_client nvarchar(100) = 'website'
set @search_client = replace(@search_client, '.', 'dot')
select * from dbo.temp where contains ((DESCFTS), @search_client)