Поиск числовых строк с помощью полнотекстового поиска в SQL 2005

Я использую полнотекстовый поиск SQL, и у меня есть сохраненная процедура, использующая функцию FREETEXTTABLE.

Все это прекрасно работает, однако, я заметил, что если я ищу что-то, например, "Глава 19", 19 кажется, что оно выброшено, а поиск ищет только "Глава".

Кроме того, если я ищу только "19", я не получаю результатов. Я знаю, что столбцы, которые я проиндексировал, содержат "19" в нескольких строках.

Это предполагаемое поведение? Чтобы не индексировать цифры?

Если так, то я полагаю, что мне придется с этим смириться, но если нет, я буду рад опубликовать любой T-SQL, если кто-то сочтет, что я делаю что-то не так.

Благодарю.

PS Я гуглил это и не нашел ничего при поиске чисел, будет полнотекстовый поиск.

1 ответ

Решение

В конце концов я нашел причину этого.

Числа считаются шумовыми словами в SQL-сервере. Вы можете разрешить поиск по цифрам, удалив числовые записи в соответствующем файле шума для вашего языка.

Файлы шума находятся в директории FTData вашей установки SQL Server.

Файлы английского шума: noiseENU.txt & noiseENG.txt

Надеюсь, это кому-нибудь поможет.

Другие вопросы по тегам