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


Возвращение свойств из обработчика фильтров

Свойства извлекаются из элементов с помощью зарегистрированных обработчиков свойств или используют фильтры, зарегистрированные для определенных типов файлов. Обработчик фильтра (реализация интерфейса IFilter) может интерпретировать содержимое типа файла любым количеством способов.

Этот раздел организован следующим образом:

Фильтрация свойств

Рекомендации по фильтрации свойств перечислены в следующей таблице.

Метод Описание
IFilter::Init Возвращает перечисление IFILTER_FLAGS. Если для элемента IFILTER_FLAGS_OLE_PROPERTIES этого перечисления установлено значение один, то Windows Search использует интерфейсы IPropertySetStorage и IPropertyStorage для перечисления и доступа к свойствам внешнего типа данных.
IFilter::GetChunk Возвращает информацию из документа в «блоках» с указанием типа блока (текст или значение), имени и языка. Блок содержит одно свойство документа.
IFilter::GetText Возвращает свойство типа текста из фрагмента.
IFilter::GetValue Получает свойство типа значения из части.

На следующем рисунке показан пример документа. Свойство внешнего типа значения DocTitle (полученное с помощью методов IPropertySetStorage и интерфейсов IPropertyStorage) и свойство внутреннего типа значения Book (полученное в результате пользовательской реализации IFilter) описывают документ в целом. Свойства текстового типа Contents и Chapter описывают содержимое документа. При обработке этого документа обработчик фильтра (реализация интерфейса IFilter) идентифицирует и извлекает эти свойства.

схема с элементами типичного документа

Ограничения размера свойства

Существует два потенциальных ограничения размера свойства:

  • Максимальный размер данных, которые служба поиска Windows принимает для каждого файла.
  • Максимальный размер каждого свойства, определенного в файле описания свойства.

В настоящее время поиск Windows не использует определенный размер свойства при вычислении объема данных, которые он принимает из элемента. Вместо этого лимит, который использует поиск Windows, — это произведение размера файла и MaxGrowFactor (размер файла N * MaxGrowFactor), прочитанное из реестра. Значение MaxGrowFactor по умолчанию — четыре.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Gathering Manager
            MaxGrowFactor

Следовательно, если тип файла, как правило, меньше общего размера, но имеет более крупные свойства, поиск Windows может не принимать все данные свойств, которые вы хотите вывести. Однако вы можете увеличить MaxGrowFactor в соответствии с вашими потребностями.

Дополнительные ресурсы

разработка обработчиков фильтров

О обработчиках фильтров в поиске Windows

Рекомендации по созданию обработчиков фильтров в Windows Search

Фильтровые обработчики, которые поставляются с Windows

Реализация обработчиков фильтров в поиске Windows

Регистрация обработчиков фильтров

Тестирование обработчиков фильтров