2010-10-26 1 views
1

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

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

Также, если я ищу только «19», я не получаю результатов. Я знаю, что индексы, которые я индексировал, содержат «19» в нескольких строках.

Является ли это предполагаемым поведением? Не индексировать число?

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

Спасибо.

P.S. Я googled это и ничего не нашел в поиске чисел будет полнотекстовый поиск.

ответ

0

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

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

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

Англичан шумовых файлов: noiseENU.txt & noiseENG.txt

Надеется, что это поможет кому-то.