Dalam Fulltext, semua karakter nonalfanumerik dihapus dalam indeks dan diganti dengan yang kosong .Jadi dalam pencarian Anda, karena Anda memiliki "." dalam string, Anda mencari "situs web" dan "bersih".
Anda dapat memperbaikinya dengan 2 cara.
Anda perlu memiliki tabel terpisah atau bidang terpisah yang memiliki data teks lengkap, terpisah dari tabel asli jika Anda menyimpan data asli.
Di tabel teks lengkap, Anda dapat menghapus ". " dan simpan "websitenet ".
Dalam hal ini, Anda harus menghapus semua "." dari string pencarian sebelum Anda melakukan kueri. Jika Anda ingin menanyakan dengan ".", Anda harus mengganti "." dengan string karakter -misalnya "titik".
Jadi dalam hal ini Anda akan menyimpan "websitedotnet ".
Saat Anda mencari kali ini, Anda mengganti semua "." dengan "titik" dalam kueri.
OK sekarang kasus Anda dengan bidang baru tempat menyimpan kolom yang akan dicari oleh FTS jadi:
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
lalu pertanyaan Anda:
declare @search_client nvarchar(100) = 'website'
set @search_client = replace(@search_client, '.', 'dot')
select * from dbo.temp where contains ((DESCFTS), @search_client)