从文档中可以看出,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忽略单词的顺序?
答案 0 :(得分:0)
使用freetext vs contains
SELECT *
FROM FREETEXT(tblThings, *, 'Cartridge Black')