Возвращение свойств из обработчика фильтров
Свойства извлекаются из элементов с помощью зарегистрированных обработчиков свойств или используют фильтры, зарегистрированные для определенных типов файлов. Обработчик фильтра (реализация интерфейса 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
в соответствии с вашими потребностями.
Дополнительные ресурсы
- Пример кода IFilterSample, доступный в GitHub, демонстрирует, как создать базовый класс IFilter для реализации интерфейса IFilter.
- Для обзора процесса индексирования см. Процесс индексирования.
- Для получения общего представления о типах файлов см. в File Types.
- Чтобы запросить атрибуты ассоциации файлов для типа файла, см. разделы PerceivedTypes, SystemFileAssociations иApplication Registration.
- Общие сведения о свойствах и обработчиках свойств и списке системных свойств, которые можно использовать для форматов файлов, см. в разделе Разработка обработчиков свойств для поиска Windows.
Связанные разделы
разработка обработчиков фильтров
О обработчиках фильтров в поиске Windows
Рекомендации по созданию обработчиков фильтров в Windows Search
Фильтровые обработчики, которые поставляются с Windows
Реализация обработчиков фильтров в поиске Windows