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

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

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

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

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

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

Спасибо.

P.S. Я погуглил и ничего не нашел при поиске по числовым значениям с полнотекстовым поиском.


person Jamie    schedule 26.10.2010    source источник


Ответы (1)


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

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

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

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

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

person Jamie    schedule 28.01.2011