Поделиться через


Фильтры полнотекстового поиска

Индексирование документа в столбце типов данных varbinary, varbinary(max), image или xml требует дополнительной обработки. Такая обработка должна выполняться фильтром. Фильтр извлекает из документа текстовые данные (устранение форматирования). Затем фильтр отправляет текст в компонент средства разбиения по словам для языка, связанного со столбцом таблицы.

Данный фильтр зависит от типа данных документа (DOC, PDF, XLS, XML и т. д.). Такие фильтры реализуют интерфейс IFilter. Для получения дополнительных сведений об этих типах документов выполните запрос к представлению каталога sys.fulltext_document_types.

Двоичные документы можно хранить в одном столбце varbinary(max) или image. SQL Server выбирает для каждого документа правильный фильтр в соответствии с расширением файла. Поскольку при сохранении файла в столбце типа varbinary(max) или image его расширение не отображается, расширение файла (DOC, DOCX, PDF и т. д.) нужно хранить в отдельном столбце таблицы, который называется столбцом типов. Столбец типов может иметь любой символьный тип данных и содержит расширение файла документа (например, DOC в случае документа Microsoft Word). В таблице Document базы данных Adventure Works столбец Document имеет тип varbinary(max), а столбец FileExtension — тип nvarchar(8).

ПримечаниеПримечание

Фильтр может быть способен обрабатывать объекты, внедренные в родительский объект, в зависимости от его реализации. Однако в SQL Server фильтры не настроены на переход по ссылкам на другие объекты.

С SQL Server 2008 устанавливаются собственные фильтры XML и HTML. Кроме того, любые фильтры для собственных форматов Майкрософт (DOC, XDOC, PPT и т. д.), которые уже установлены в операционной системе, также загружаются средствами SQL Server. Чтобы определить, какие фильтры загружены в экземпляр SQL Server в данный момент, используйте хранимую процедуру sp_help_fulltext_system_components следующим образом:

EXEC sp_help_fulltext_system_components 'filter'; 

Прежде чем использовать фильтры для форматов, не принадлежащих Майкрософт, их необходимо вручную загрузить на экземпляр сервера. Сведения об установке дополнительных фильтров см. в разделе Как изменить список зарегистрированных средств разбиения по словам и фильтров (Transact-SQL).

Просмотр столбца типов в существующем полнотекстовом индексе