Обзор Windows Search

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

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

Введение

Поиск Windows — это стандартный компонент Windows 7 и Windows Vista и включен по умолчанию. Поиск Windows заменяет windows Desktop Search (WDS), который был доступен как надстройка для Windows XP и Windows Server 2003.

Поиск Windows состоит из трех компонентов:

Служба Windows Search

Windows SharePoint Services упорядочивает извлеченные функции коллекции документов. Протокол поиска Windows позволяет клиенту взаимодействовать с сервером, на котором размещена Windows SharePoint Services, как выдавать запросы, так и разрешать администратору управлять сервером индексирования. При обработке файлов Windows SharePoint Services анализирует набор документов, извлекает полезные сведения, а затем упорядочивает извлеченные сведения, чтобы свойства этих документов могли быть эффективно возвращены в ответ на запросы.

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

Процесс индексатора реализуется как служба Windows, запущенная в учетной записи LocalSystem, и всегда выполняется для всех пользователей (даже если пользователь не вошел в систему), что позволяет выполнить поиск Windows следующим образом:

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

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

  • Высокая загрузка ЦП процессами, не связанными с поиском.
  • Высокая скорость ввода-вывода системы, включая операции чтения и записи файлов, файл страницы и операции ввода-вывода кэша файлов и сопоставленные операции ввода-вывода.
  • Низкая доступность памяти.
  • Низкая время работы батареи.
  • Низкое дисковое пространство на диске, в которой хранится индекс.

Платформа разработки

Предпочтительным способом доступа к API поиска и созданию приложений поиска Windows является источник данных оболочки. Источник данных Оболочки — это компонент, который используется для расширения пространства имен оболочки и предоставления элементов в хранилище данных. Хранилище данных — это репозиторий данных. Хранилище данных можно предоставить модели программирования Оболочки в качестве контейнера, использующего источник данных Оболочки. Элементы в хранилище данных можно индексировать системой поиска Windows с помощью обработчика протокола.

Например, ISearchFolderItemFactory — это компонент, который может создавать экземпляры источника данных папки поиска, который является своего рода "виртуальным" источником данных, предоставляемым оболочкой, которая может выполнять запросы по другим источникам данных в пространстве имен оболочки и перечислять результаты. Это можно сделать с помощью индексатора или вручную перечисления и проверки элементов в указанных область. Этот интерфейс позволяет настроить параметры поиска с помощью методов, создающих и изменяющих папки поиска. Если методы этого интерфейса не вызываются, вместо этого используются значения по умолчанию.

Доступ к возможности поиска Windows косвенно через модель данных оболочки предпочтительнее, так как он предоставляет доступ к полнофункционалным функциям оболочки на уровне модели данных оболочки. Например, можно задать область поиска в библиотеку (которая является функцией, доступной в Windows 7 и более поздних версиях), чтобы использовать папки библиотеки в качестве область запроса. Затем поиск Windows объединяет результаты поиска из этих расположений, если они находятся в разных индексах (если папки находятся на разных компьютерах). Слой данных Оболочки также создает более полное представление свойств элементов, синтезируя некоторые значения свойств. Он также предоставляет доступ к функциям поиска для хранилищ данных, которые не индексируются поиском Windows. Например, можно искать устройства хранения универсальной последовательной шины (USB), переносимое устройство, использующее протокол MTP, или сервер ПРОТОКОЛА FTP через источники данных Оболочки, предоставляющие доступ к этим системам хранения. Это обеспечивает более эффективное взаимодействие с пользователем.

Поиск Windows содержит кэш значений свойств, используемых в реализации службы поиска Windows (Windows SharePoint Services). Эти значения свойств можно программно запрашивать с помощью поставщика OLE DB поиска Windows или через ISearchFolderItemFactory, который представляет элементы в результатах поиска и представлениях на основе запросов. Затем поиск Windows собирает и сохраняет свойства, создаваемые обработчиками фильтров или обработчиками свойств, когда элемент, например документ Word, индексируется. Это хранилище не карта и перестроено при перестроении индекса.

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

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

Примечание.

Источник данных Оболочки иногда называется расширением пространства имен оболочки. Иногда обработчик называется расширением оболочки или обработчиком расширений оболочки.

 

Пользовательский интерфейс

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

  • Мгновенное поле поиска в каждом окне позволяет мгновенно фильтровать все элементы в представлении. Поля мгновенного поиска отображаются в меню для поиска программ или файлов, а в правом верхнем углу всех окон Windows Обозреватель, чтобы отфильтровать результаты. Мгновенный поиск также интегрирован в некоторые другие функции Windows, такие как Медиаплеер Windows, для поиска связанных файлов.
  • Документы можно помечать с помощью ключевое слово, чтобы сгруппировать их по пользовательским критериям, определенным пользователем. Теги — это элементы метаданных, назначенные пользователем или приложениями, чтобы упростить поиск файлов на основе ключевое слово, которые могут не находиться в имени элемента или содержимом. Например, набор изображений может быть помечен как "Аризона Отпуск 2009", чтобы быстро получить позже, выполнив поиск любого из включенных слов.
  • Расширенные заголовки столбцов в представлениях Windows Обозреватель позволяют сортировать и группировать документы разными способами. Например, файлы можно сортировать по имени, дате, типу, размеру и тегам. Документы также можно сгруппировать в соответствии с любым из этих свойств, и каждая группа может быть отфильтрована (скрыта или отображена) по мере необходимости.
  • Документы можно стекать в соответствии с именем, датой изменения, типом, размером и тегами. Стеки включают все документы, имеющие указанное свойство, и находятся в любой вложенной папке выбранной папки.
  • Поиски можно сохранить (чтобы получить позже), нажав кнопку "Сохранить поиск" в области поиска в Windows Обозреватель. Результаты будут динамически повторяться на основе исходных условий при открытии сохраненного поиска. Инструкции см. в разделе "Сохранение результатов поиска".
  • Обработчики предварительного просмотра и обработчики эскизов позволяют пользователям просматривать документы в Windows Обозреватель без необходимости открывать приложение, созданное им.

Технические предварительные требования

Прежде чем приступить к чтению документации по пакету SDK для Поиска Windows, необходимо иметь базовое представление о следующих понятиях:

  • Как реализовать источник данных оболочки.
  • Реализация обработчика.
  • Как работать в машинном коде.

Источник данных Оболочки — это компонент, который используется для расширения пространства имен оболочки и предоставления элементов в хранилище данных. В прошлом источник данных Оболочки был назван расширением пространства имен оболочки. Обработчик — это объект com-модели компонента, предоставляющий функциональные возможности для элемента оболочки. Список обработчиков, определенных сценарием разработчика, который вы пытаетесь достичь, см. в разделе "Обзор обработчиков" в поиске Windows в качестве платформы разработки.

Дополнительные сведения о сборке взаимодействия пакета SDK для поиска Windows для работы с COM-объектами, предоставляемыми поиском Windows и другими программами, использующими управляемый код, см. в статье "Использование управляемого кода с данными оболочки и поиском Windows". Однако обратите внимание, что фильтры, обработчики свойств и обработчики протоколов должны быть написаны в машинном коде. Это связано с потенциальными проблемами с управлением версиями среды CLR при выполнении нескольких надстроек. Разработчики, которые являются новыми для C++, могут приступить к работе с Центром разработчиков Visual C++ и начало разработки Windows.

Скачивание и содержимое пакета SDK

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

Документация по пакету SDK для Поиска Windows

Содержимое документации по пакету SDK для Поиска Windows выглядит следующим образом:

Поиск Windows заменяет windows Desktop Search (WDS), который был доступен как надстройка для Windows XP и Windows Server 2003. WDS заменил устаревшую службу индексирования из предыдущих версий Windows улучшениями производительности, удобства использования и расширяемости. Новая платформа разработки поддерживает требования, которые обеспечивают более безопасную и стабильную систему. Хотя новая платформа запросов несовместима с поиском компьютеров Microsoft Windows (WDS) 2.x, фильтры и обработчики протоколов, написанные для предыдущих версий WDS, можно обновить для работы с Поиском Windows. Поиск Windows также поддерживает новую систему свойств. Сведения о фильтрах, обработчиках свойств и обработчиках протоколов см. в разделе "Расширение индекса".

Поиск Windows встроен в Windows Vista и более поздних версий и доступен в качестве распространяемого обновления для WDS 2.x для поддержки следующих операционных систем:

  • 32-разрядные версии Windows XP с пакетом обновления 2 (SP2).
  • Все версии Windows XP на основе x64.
  • Windows Server 2003 с пакетом обновления 1 (SP1) и более поздними версиями.
  • Все версии windows Server 2003 на основе x64.

Для запуска приложений, написанных для поиска Windows, должны быть установлены системы под управлением этих операционных систем.

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

Windows Search как платформа разработки

Языки, поддерживаемые поиском Windows

Использование управляемого кода с данными оболочки и Windows Search