SQL Server 2005 - 忽略单个字符的FREETEXTTABLE

时间:2011-04-27 09:39:22

标签: sql sql-server-2005 tsql freetexttable

我遇到了正在运行的查询的问题。基本上它是在书桌上搜索。下面的查询使用FREETEXTTABLE命令对搜索作者进行排名:

@author = 'lewis c s'

SELECT *
FROM tbl_products
INNER JOIN FREETEXTTABLE(tbl_products, [author], @author, LANGUAGE 'British English') AS key_tbl ON tbl_products.product_id = key_tbl.[key]
WHERE deleted = 0
ORDER BY key_tbl.[rank] DESC, author ASC, title ASC, stl_product_id ASC

我得到的结果令人困惑......返回的第一行是一位名为lewis lewis的作者,而lewis c s排名低于此!

现在我已经编辑了我的noiseENG.txt,删除了单个字母并重新构建了我的全文目录,但我发现结果没有变化。我知道更改此文件是有效的,因为我已将lewis添加到列表中,并在作者列中过滤掉lewis的所有搜索。

注意:如果我只搜索'c s'我没有得到任何结果,所以看起来单个字母一起被忽略了!此外,索引的字段都设置为British English

有谁知道为什么FREETEXTTABLE命令仍然会过滤掉单个字母?

1 个答案:

答案 0 :(得分:0)

尝试短语搜索la:

@author = '"lewis c s"'