SQL Server中FREETEXTTABLE中的术语顺序

时间:2012-10-17 13:03:46

标签: sql sql-server sql-server-2008 freetexttable

从文档中可以看出,SQL Server的FREETEXTTABLE应该将包含多个单词的搜索查询视为一个词袋。

如果我跑:

SELECT *
FROM FREETEXTTABLE(tblThings, *, 'Cartridge Black')

我得到的结果是“墨盒”这个词后面紧跟着“黑色”这个词,例如:

EPSON STYLUS INKJET CARTRIDGE BLACK
INKJET CARTRIDGE BLACK 40ML

没有结果有其他顺序的单词。

如果我改为运行

SELECT *
FROM FREETEXTTABLE(tblThings, *, 'Black Cartridge')

我得到了一组不同的结果:

AD1020BK BLACK CARTRIDGE
GD230X BLACK CARTRIDGE

在两组结果中都没有找到“黑色墨盒”。

有没有办法让SQL Server忽略单词的顺序?

1 个答案:

答案 0 :(得分:0)

使用freetext vs contains

SELECT *
FROM FREETEXT(tblThings, *, 'Cartridge Black')