小编典典

使用全文搜索查找完全匹配

sql

使用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伦敦”。

如何格式化字符串以正确完成此操作?


阅读 205

收藏
2021-04-22

共1个答案

小编典典

也许一种方法是通过全文搜索选择多个结果,然后SELECT从这些结果中选择特定的一个。但是也许对此有更好的解决方案。

我尝试了这种方法,它实际上起作用了。它的工作速度也要快得多,而不仅仅是SELECT实现价值。

2021-04-22