使用Sql Server 2008,您如何才能使用全文本搜索实际找到完全匹配的字符串。我对此很难过,只是在网上的任何地方都找不到令人满意的解决方案。
例如,如果我要搜索字符串“ Bojan Skrchevski”,则我希望第一个结果就是那个。
到目前为止,我已经尝试将字符串格式化为“ Bojan * NEAR Skrchevski *”并调用CONTAINSTABLE以获取结果,但是此字符串的格式被设置为返回更多结果,例如Bojana和Bojananana等。我还尝试了ORDER BY RANK,但仍然没有成功。
此外,在我的字符串中,我有一个数字序列,例如:“ 3 1 7”,但是使用当前格式,它还会返回“ 7 1 3”等。
例子:
DECLARE @var varchar(4000); SET @var = '"Oxford*" NEAR 24 NEAR 7 NEAR 5 NEAR "London*"' SELECT [Key] FROM CONTAINSTABLE(dbo.[MyTable], [MyField], @var);
我希望能够获得确切的订购。结果没有得到“牛津7 24 5伦敦”。
如何格式化字符串以正确完成此操作?
也许一种方法是通过全文搜索选择多个结果,然后SELECT从这些结果中选择特定的一个。但是也许对此有更好的解决方案。
SELECT
我尝试了这种方法,它实际上起作用了。它的工作速度也要快得多,而不仅仅是SELECT实现价值。