Обзор Windows Search
Поиск Windows — это платформа поиска на рабочем столе с возможностью мгновенного поиска для наиболее распространенных типов файлов и типов данных, а сторонние разработчики могут расширить эти возможности на новые типы файлов и типы данных.
Этот раздел организован следующим образом:
- Введение
- Технические предварительные требования
- Документация по пакету SDK для Поиска Windows
- Журнал поиска Windows
- Дополнительные ресурсы
- Связанные статьи
Введение
Поиск Windows — это стандартный компонент Windows 7 и Windows Vista и включен по умолчанию. Поиск Windows заменяет windows Desktop Search (WDS), который был доступен как надстройка для Windows XP и Windows Server 2003.
Поиск Windows состоит из трех компонентов:
- Служба поиска Windows (WSS)
- Платформа разработки
- Пользовательский интерфейс
Служба Windows Search
WSS упорядочивает извлеченные функции коллекции документов. Протокол поиска Windows позволяет клиенту взаимодействовать с сервером, на котором размещается WSS, как выдавать запросы, так и разрешать администратору управлять сервером индексирования. При обработке файлов WSS анализирует набор документов, извлекает полезную информацию, а затем упорядочивает извлеченные сведения, чтобы свойства этих документов могли быть эффективно возвращены в ответ на запросы.
Коллекция документов, которые можно запрашивать, состоит из каталога, который является самой высокоуровневой единицей организации в Службе поиска Windows. Каталог представляет набор индексированных документов, которые можно запрашивать. Каталог состоит из таблицы свойств с текстом или значением и соответствующим расположением (языковым стандартом), хранящимся в столбцах таблицы. Каждая строка таблицы соответствует отдельному документу в области каталога, а каждый столбец таблицы соответствует свойству. Каталог может содержать инвертированные индексы (для быстрого сопоставления слов) и кэш свойств (для быстрого извлечения значений свойств).
Процесс индексатора реализуется как служба Windows, запущенная в учетной записи LocalSystem, и всегда выполняется для всех пользователей (даже если пользователь не вошел в систему), что позволяет выполнить поиск Windows следующим образом:
- Сохраняйте один индекс, общий доступ ко всем пользователям.
- Сохраняйте ограничения безопасности на доступ к содержимому.
- Обработка удаленных запросов с клиентских компьютеров в сети.
Служба предназначена для защиты пользовательского интерфейса и производительности системы при индексировании. Следующие условия приводят к тому, что служба будет регулировать или приостановить индексирование:
- Высокая загрузка ЦП процессами, не связанными с поиском.
- Высокая скорость ввода-вывода системы, включая операции чтения и записи файлов, файл страницы и операции ввода-вывода кэша файлов и сопоставленные операции ввода-вывода.
- Низкая доступность памяти.
- Низкая время работы батареи.
- Низкое дисковое пространство на диске, в которой хранится индекс.
Платформа разработки
Предпочтительным способом доступа к API поиска и созданию приложений поиска Windows является источник данных оболочки. Источник данных Оболочки — это компонент, который используется для расширения пространства имен оболочки и предоставления элементов в хранилище данных. Хранилище данных — это репозиторий данных. Хранилище данных можно предоставить модели программирования Оболочки в качестве контейнера, использующего источник данных Оболочки. Элементы в хранилище данных можно индексировать системой поиска Windows с помощью обработчика протокола.
Например, ISearchFolderItemFactory — это компонент, который может создавать экземпляры источника данных папки поиска, который является своего рода "виртуальным" источником данных, предоставляемым оболочкой, которая может выполнять запросы по другим источникам данных в пространстве имен оболочки и перечислять результаты. Это можно сделать с помощью индексатора или вручную перечисления и проверки элементов в указанных областях. Этот интерфейс позволяет настроить параметры поиска с помощью методов, создающих и изменяющих папки поиска. Если методы этого интерфейса не вызываются, вместо этого используются значения по умолчанию.
Доступ к возможности поиска Windows косвенно через модель данных оболочки предпочтительнее, так как он предоставляет доступ к полнофункционалным функциям оболочки на уровне модели данных оболочки. Например, можно задать область поиска библиотеки (которая является функцией, доступной в Windows 7 и более поздних версиях), чтобы использовать папки библиотеки в качестве области запроса. Затем поиск Windows объединяет результаты поиска из этих расположений, если они находятся в разных индексах (если папки находятся на разных компьютерах). Слой данных Оболочки также создает более полное представление свойств элементов, синтезируя некоторые значения свойств. Он также предоставляет доступ к функциям поиска для хранилищ данных, которые не индексируются поиском Windows. Например, можно искать устройства хранения универсальной последовательной шины (USB), переносимое устройство, использующее протокол MTP, или сервер ПРОТОКОЛА FTP через источники данных Оболочки, предоставляющие доступ к этим системам хранения. Это обеспечивает более эффективное взаимодействие с пользователем.
Поиск Windows содержит кэш значений свойств, используемых в реализации службы поиска Windows (WSS). Эти значения свойств можно программно запрашивать с помощью поставщика 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 Search как платформа разработки
Описывает основные сценарии разработки в Поиске Windows. Предоставляет список обработчиков, определенных сценарием разработки, которые вы пытаетесь достичь, рекомендации по установщику надстроек и заметки о реализации.
Руководство разработчика поиска Windows
Предоставляет объяснения по управлению индексом, запросу индекса программным способом, расширению индекса и расширению языковых ресурсов.
-
Документы следующих категорий интерфейсов поиска Windows: обработчики протоколов, запросы, область обхода данных, надстройки данных, управление индексами и уведомления. Справочная документация также содержит константы и перечисления, структуры, сопоставления свойств и сохраненный формат файла поиска.
-
Описание доступных примеров кода API поиска.
-
Описывает поддержку федерации поиска windows 7 для удаленных хранилищ данных с помощью технологий OpenSearch, позволяющих пользователям получать доступ к удаленным данным и взаимодействовать с ними в проводнике Windows.
-
Выводит список технологий, связанных с поиском Windows: корпоративный поиск, поиск SharePoint Enterprise и устаревшие приложения, такие как Windows Desktop Search 2.x и пакет SDK платформы: индексация службы.
-
Определяет основные термины, используемые в технологиях поиска Windows и оболочки.
Журнал поиска 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, должны быть установлены системы под управлением этих операционных систем.
Дополнительные ресурсы
- Сведения о создании источника данных оболочки см. в разделе "Реализация базовых интерфейсов объектов папок".
- Дополнительные сведения об ISearchFolderItemFactory и источнике данных папки базы данных см. в описании константы STR_PARSE_WITH_PROPERTIES в ключах строки контекста привязки. См. также массивы ассоциаций и IPropertySystem::GetPropertyDescriptionListFromString.
- Дополнительные сведения о OLE DB см. в разделе "Обзор программирования OLE DB". Сведения о поставщике данных платформа .NET Framework для OLE DB см. в документации по пространству имен System.Data.OleDb.
- Общие сведения о обработчиках типов файлов (также известных как обработчики расширений оболочки и обработчики поиска) см. в разделе "Поиск Windows как платформа разработки".
- Советы сообщений, поддерживаемые сообществом, о технологиях поиска см. в статье Microsoft Q&A.
- Дополнительные сведения о связанных примерах кода см. в примерах кода поиска Windows.
См. также