【发布时间】:2011-12-19 09:30:40
【问题描述】:
使用 Sql Server 2008,您如何使用全文搜索实际找到完全匹配的字符串。我在这方面遇到了很大的困难,我只是在网上找不到令人满意的解决方案。
例如,如果我正在搜索字符串“Bojan Skrchevski”,我希望第一个结果就是这样。
到目前为止,我已尝试将字符串格式化为:“Bojan* NEAR Skrchevski*”并调用 CONTAINSTABLE 以获取结果,但此字符串已格式化为返回更多结果,如 Bojana 和 Bojananana 等。我还尝试按排名排序,但仍然没有成功。
此外,在我的字符串中,我有一个数字序列,例如:“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);
我希望能够得到准确的排序。结果没有得到“Oxford 7 24 5 London”。
如何格式化字符串以正确完成此操作?
【问题讨论】:
标签: sql sql-server-2008 full-text-search