IFilter

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

IFilter может быть получен отдельным пакетом или может быть составной частью программы, например Adobe Acrobat Reader, Microsoft Office, LibreOffice/OpenOffice.org.

Также IFilter называют программный интерфейс, необходимый для создания таких плагинов[1].

Как это работает[2][3]

[править | править код]

IFilter работает как подключаемый модуль, позволяющий получать содержание и метаданные файла для поискового движка. Поисковый движок работает в два этапа:

  1. Движок обрабатывает индексируемые области, например, папку с файлами или базу данных и индексирует все новые или изменённые документы различных типов в фоновом режиме и создаёт внутренние данные для хранения результатов индексирования.
  2. Пользователь создаёт поисковый запрос и движок немедленно формирует результаты поиска, сканируя сформированный индекс и отображая пользователю все файлы, удовлетворяющие запросу.

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

Поисковые движки

[править | править код]

Все продукты, основанные на технологии Microsoft Search, поддерживают технологию индексирования и, соответственно, IFilters, например Windows Indexing Service и более поздняя Windows Search, Internet Information Services, Exchange Server и т. п. Более того, IFilter используется SQL Server как компонент службы полнотекстового поиска SQL Server.

Примечания

[править | править код]
  1. GrantMeStrength. IFilter (filter.h) - Win32 apps (амер. англ.). docs.microsoft.com. Дата обращения: 23 декабря 2021. Архивировано 12 июня 2020 года.
  2. Indexing Service (амер. англ.). docs.microsoft.com. Дата обращения: 23 декабря 2021. Архивировано 16 июля 2020 года.
  3. mcleanbyron. Обзор Windows Search - Win32 apps (рус.). docs.microsoft.com. Дата обращения: 23 декабря 2021. Архивировано 23 декабря 2021 года.