The*_*yan 5 sql full-text-search sql-server-2008
使用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);
Run Code Online (Sandbox Code Playgroud)
我希望能够得到确切的订单.结果不要"牛津7 24 5伦敦".
如何格式化字符串以正确完成此操作?
也许一种方法是通过全文搜索选择多个结果,然后SELECT从这些结果中选择特定的结果。但也许可以有更好的解决方案。
我尝试了这个方法并且确实有效。SELECT它的工作速度也比仅计算值要快得多。
| 归档时间: |
|
| 查看次数: |
6321 次 |
| 最近记录: |