【发布时间】:2009-06-02 19:07:46
【问题描述】:
我已经在单个表中的单个字段上设置了 FTS。
Field: Name NVARHCHAR(350) NOT NULL
现在,当我搜索以下内容时
1 ave
10 ave
我没有得到我期望的结果。
首先,搜索查询1 ave 转换为"1*" AND "ave*"。现在我运行我的 CONTAINS(..) 查询...
SELECT FooId, Name
FROM [dbo].[Names]
WHERE CONTAINS(Name, @SearchQuery)
然后,连同正确的结果,我也得到了这些不正确的结果......
2 Ave (a couple of entries .. but they are all unique entires).
那么,这是如何检索到的?那段文字中没有1*?就像..数字被忽略了?
另外 - 这很重要 - 我已经删除了对停止列表的引用并重建了目录。
嗯。我很混乱。有人有什么建议吗?
【问题讨论】:
-
我认为你转换后的字符串应该是 "1*" AND "ave*" -- 缺少 "1*" 上的结束符
-
正确。好眼力。固定。
标签: sql-server-2008 full-text-search