有一个使用Microsoft SQL Server并且需要搜索数据的应用程序,发现对于类似“系列6”或“66系列”的查询会返回结果,就好像它们有'系列'并且显示6是一个停用词。该应用程序是2008年,但数据库兼容级别是sql server 2000(80)。
所以我做了备份并恢复为新的db,将兼容性更改为100(Sql Server 2008),然后运行以下命令:
ALTER DATABASE [TestDB] SET COMPATIBILITY_LEVEL = 100
ALTER FULLTEXT INDEX ON CandidateResume SET STOPLIST = OFF
然后我再次运行我的查询,似乎工作:
SELECT * FROM CandidateResume WHERE CONTAINS(CandidateResume_Resume, '"Series 6"')
我的问题,是否有可能只关闭每张表的停止列表中的数字,还是我们必须全部或全部做?
Here是对ALTER FULLTEXT STOPLIST的描述。看起来你可以DROP元素,所以你可以关闭数字,但不能通过表格。