Возврат свойств из обработчика фильтра
Свойства извлекаются из элементов с помощью зарегистрированных обработчиков свойств или фильтров, зарегистрированных для определенных типов файлов. Обработчик фильтра (реализация интерфейса IFilter ) может интерпретировать содержимое файла любого типа.
Этот раздел организован следующим образом:
Фильтрация свойств
В следующей таблице приведены рекомендации по фильтрации свойств.
Метод | Описание |
---|---|
IFilter::Init | Возвращает перечисление IFILTER_FLAGS . Если элемент IFILTER_FLAGS_OLE_PROPERTIES этого перечисления имеет значение one, windows Search использует интерфейсы IPropertySetStorage и IPropertyStorage для перечисления внешних свойств типа значений и доступа к ней. |
IFilter::GetChunk | Возвращает сведения из документа в виде блоков с типом блока (текст или значение), именем и языковым стандартом. Блок содержит одно свойство документа. |
IFilter::GetText | Возвращает свойство текстового типа из блока. |
IFilter::GetValue | Возвращает свойство типа значения из блока. |
На следующем рисунке показан пример документа. Свойство внешнего типа DocTitle
значения (полученное с помощью методов интерфейсов IPropertySetStorage и IPropertyStorage ) и внутреннее свойство Book
типа значения (полученное в результате пользовательской реализации IFilter ) описывают документ в целом. Свойства Contents
текстового типа и Chapter
описывают содержимое документа. При обработке этого документа обработчик фильтра (реализация интерфейса IFilter ) идентифицирует и извлекает эти свойства.
Ограничения размера свойств
Существует два потенциальных ограничения на размер свойства:
- Максимальный размер данных, принимаемых в Windows Search для каждого файла.
- Максимальный размер свойства, определенный в файле описания свойства.
В настоящее время Windows Search не использует определенный размер свойства при вычислении объема данных, принимаемых из элемента. Вместо этого в Windows Search используется ограничение размера файла и MaxGrowFactor
(размер файла N * MaxGrowFactor), считываемого из реестра. Значение по умолчанию MaxGrowFactor
— четыре.
HKEY_LOCAL_MACHINE
SOFTWARE
Microsoft
Gathering Manager
MaxGrowFactor
Следовательно, если тип файла имеет небольшой общий размер, но имеет большие свойства, Windows Search может принять не все данные свойств, которые вы хотите создать. Тем не менее, вы можете увеличить в соответствии с вашими потребностями MaxGrowFactor
.
Дополнительные ресурсы
- В примере кода IFilterSample , доступном на сайте GitHub, показано, как создать базовый класс IFilter для реализации интерфейса IFilter .
- Общие сведения о процессе индексирования см. в разделе Процесс индексирования.
- Общие сведения о типах файлов см. в разделе Типы файлов.
- Сведения об запросе атрибутов сопоставления файлов для типа файла см. в разделах PerceivedTypes, SystemFileAssociations и Регистрация приложений.
- Общие сведения о свойствах и обработчиках свойств, а также список системных свойств, которые можно использовать для форматов файлов, см. в статье Разработка обработчиков свойств для Поиска Windows.
Связанные темы
Разработка обработчиков фильтров
Сведения о обработчиках фильтров в Windows Search
Рекомендации по созданию обработчиков фильтров в Windows Search
Обработчики фильтров, поставляемые с Windows
Реализация обработчиков фильтров в Windows Search