Поиск числовых строк с помощью полнотекстового поиска в SQL 2005
Я использую полнотекстовый поиск SQL, и у меня есть сохраненная процедура, использующая функцию FREETEXTTABLE.
Все это прекрасно работает, однако, я заметил, что если я ищу что-то, например, "Глава 19", 19 кажется, что оно выброшено, а поиск ищет только "Глава".
Кроме того, если я ищу только "19", я не получаю результатов. Я знаю, что столбцы, которые я проиндексировал, содержат "19" в нескольких строках.
Это предполагаемое поведение? Чтобы не индексировать цифры?
Если так, то я полагаю, что мне придется с этим смириться, но если нет, я буду рад опубликовать любой T-SQL, если кто-то сочтет, что я делаю что-то не так.
Благодарю.
PS Я гуглил это и не нашел ничего при поиске чисел, будет полнотекстовый поиск.
1 ответ
В конце концов я нашел причину этого.
Числа считаются шумовыми словами в SQL-сервере. Вы можете разрешить поиск по цифрам, удалив числовые записи в соответствующем файле шума для вашего языка.
Файлы шума находятся в директории FTData вашей установки SQL Server.
Файлы английского шума: noiseENU.txt & noiseENG.txt
Надеюсь, это кому-нибудь поможет.