Иметь приложение, использующее Microsoft SQL Server и нуждающееся в поиске данных, обнаружило, что для запросов типа «серия 6» или «серия 66» будут возвращаться результаты только в том случае, если у них было «серия», а 6 было стоп-словом. Это приложение было 2008 года, но уровень совместимости с базой данных был sql server 2000 (80).
Поэтому я сделал резервную копию и восстановил ее как новую базу данных, изменил совместимость на 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"')
Мой вопрос: можно ли отключить только числа в стоп-листе для каждой таблицы, или мы должны делать все или ничего?