Microsoft Windows Search

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 00:46, 2 июня 2017.
Windows Search
A component of Microsoft Windows
Windows Vista Search.png
Windows Vista Search Explorer showing the advanced query composition UI
Details
Type Desktop search
Included with Windows Vista
Windows Server 2008
Windows 7
Windows Server 2008 R2
Windows 8
Windows 8.1
Windows Server 2012
Windows Server 2012 R2
Windows 10
Service name Windows Search (WSearch)
Description Provides content indexing, property caching, and search results for files, e-mail, and other content.

Windows Search, ранее известная как Windows Desktop Search (WDS) в Windows XP и Windows Server 2003, представляет собой индексированную настольную поисковую платформу, созданную Microsoft для Microsoft Windows

Служба поиска Windows Search обеспечивает полное и удобное решение для просмотра и поиска информации независимо от места ее хранения - на жестком диске, подключенных файловых ресурсах общего доступа, порталах документов или веб-сайтах. Windows Search создает и поддерживает индекс содержимого компьютера. Точно так же, как алфавитный указатель книги позволяет читателям быстро находить ссылки на определенные слова, индекс Windows Search позволяет находить определенные слова или фразы в сообщениях электронной почты, встречах в календаре, документах, фотографиях, других файлах и даже в метаданных. Кроме того, приложения могут устанавливать свои собственные фильтры iFilters, позволяющие Windows Search индексировать еще больше типов файлов. При добавлении, изменении и удалении файлов служба Windows Search поддерживает индекс. Так же Windows Search может выполнять индексирование и поиск для большинства обычных типов файлов, включая текстовые файлы, документы Microsoft® Office Word®, электронные таблицы Microsoft Office Excel, файлы изображений, видео и музыки. Windows Search может индексировать метаданные в файлах мультимедиа, документах и программных файлах.

В Windows 7 проводник упрощает фильтрацию результатов поиска. В области просмотра содержимого отображаются отрывки из поддерживаемых типов документов и выделяются соответствующие ключевые слова. В области Предварительный просмотр можно также просматривать поддерживаемые типы файлов. Эти возможности помогают быстро найти нужный документ, не открывая каждый документ для просмотра его содержимого [Источник 1].

ОБ windows Search в общем

Поиск Windows в совокупности относится к индексированному поиску в Windows Vista и более поздних версиях Windows (также именуемому какInstant Search), а также Windows Desktop Search, автономному дополнению для Windows 2000, Windows XP и Windows Server 2003 Как бесплатное ПО. Все воплощения Windows Search совместно используют общую архитектуру и технологию индексирования и используют совместимый интерфейс прикладного программирования (API).

Windows Search является наследником службы Indexing Service, остатка функции объектной файловой системы в проекте Cairo, который так и не материализовался. Windows Search использует другую архитектуру.

Windows Search создает полнотекстовый индекс файлов на компьютере. (Надстройка для 32-разрядных версий Windows XP, Windows Server 2003 и Windows Vista позволяет добавлять сетевые ресурсы в индекс.) Время, необходимое для первоначального создания этого индекса, зависит от количества и Типа данных, подлежащих индексированию, и может занимать до нескольких часов, но это одноразовый случай. После добавления содержимого этого индекса в этот индекс, Windows Search может использовать индекс для поиска результатов быстрее, чем это потребовалось бы для поиска по всем файлам на компьютере. Поиск выполняется не только по именам файлов, но и по содержимому файла (при условии, что установлен правильный обработчик для типа файла), а также ключевых слов, комментариев и всех других форм метаданных, распознаваемых Windows Search. Например, поиск компьютера для «Thomas Bergersen» возвращает список музыкальных файлов на компьютере с «Thomas Bergersen» в названиях песен, именах исполнителей или альбомов, а также любые электронные письма и документы, содержащие фразу "Thomas Bergersen" в их названиях или содержании.

Windows Search предлагает инкрементный searchsearch (также известный как «поиск по мере ввода»). Он начинает поиск, как только символы вводятся в окне поиска, и продолжает уточнять и фильтровать результаты поиска по мере ввода большего количества символов. Это приводит к поиску необходимых файлов даже до ввода полного текста поиска.

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

Windows Search по умолчанию включает IFilters для распространенных типов файлов, включая документы Word, электронные таблицы Excel, презентации PowerPoint, HTML-файлы, текстовые файлы, MP3 и WMA музыкальные файлы, видеофайлы WMV, ASF и AVI и изображения JPEG, BMP и PNG.

Windows Search использует обработчики свойств для обработки метаданных из форматов файлов. Обработчик свойств нуждается в описании свойства и в схеме для свойства Windows Search для индексации метаданных. Обработчики протоколов используются для индексирования конкретных хранилищ данных. Например, доступ к файлам осуществляется с помощью обработчика протокола файловой системы, хранилищ Microsoft Office Outlookdata с использованием обработчика протокола Outlook и кэша обозревателя Internet Explorer с помощью обработчика протокола хронологии / кэша.

Программинование

Пользователи могут получить доступ к индексу Windows Search программно, используя управляемый, а также условный код. Родной код подключается к каталогу индекса с помощью объекта источника данных, полученного из службы индексирования OLE DBprovider. Управляемый код использует поставщик MSIDXSADO.NET. Можно запросить каталог на удаленном компьютере, указав UNCpath. Программисты определяют критерии поиска с помощью синтаксиса, подобного SQL. SQL-запрос может быть создан вручную или с помощью реализации интерфейса ISearchQueryHelper. Windows Search предоставляет реализации интерфейса для преобразования запросов AQS или NQS в их эквивалент SQL.

API OLE DB / SQL реализует функциональность для поиска и запроса по индексам и хранилищам свойств. Он использует вариант SQL, в котором для представления запроса (обычный SQL с определенными ограничениями) и возвращает результаты в виде набора строк OLE DB. Всякий раз, когда выполняется запрос, части используемого им индекса временно кэшируются, так что дальнейшая фильтрация поисковых запросов Результирующий набор не должен снова обращаться к диску, чтобы повысить производительность. Windows Search сохраняет свой индекс в файле Extensible Storage Engine с именем Windows.edb, который по умолчанию находится в папке \ ProgramData \ Microsoft \ Search \ Data \ Applications \ Windows \ в корневом каталоге системного диска в Windows Vista или более поздней версии Версии Windows. (Соответствующее местоположение в Windows XP: \ Все пользователи \ Данные приложения \ Microsoft \ Search \ Data \ Applications \ Windows \ в папке Documents and Settingsfolder.)

Хранилище индексов под названием SystemIndex содержит все извлекаемые значения Windows IPropertyStore для индексированных элементов. Внутри папки SystemIndex скрывается SystemIndex. *. Файлы Crwl иSystemIndex. *. Gthr. Имена и расположение документов в системе отображаются в виде таблицы с именем columnSystem. ItemName и System. ItemURL соответственно. SQL-запрос может напрямую ссылаться на эти таблицы и индексные каталоги и использовать провайдера MSIDXS для выполнения запросов к ним. Индекс поиска также можно использовать через OLE DB, используя CollatorDSOprovider. Однако поставщик OLE DB доступен только для чтения, поддерживая только инструкции SELECT и GROUP ON SQL.

Windows Search также регистрирует протокол поиска-msapplication, который может использоваться для представления поисковых запросов как URI. Параметры поиска и фильтры кодируются в URI с использованием AQS или его эквивалента естественного языка NQS. Когда Explorer вызывает URI, Windows Search (который является зарегистрированным по умолчанию обработчиком протокола) запускает Search Explorer с результатами поиска. В Windows Vista с пакетом обновления 1 (SP1) или более поздней версии сторонние обработчики также могут регистрироваться в качестве обработчика протокола приложения, поэтому поиск может выполняться с использованием любой поисковой системы, которую пользователь установил по умолчанию, а не только Windows Search.

Служба поиска Windows предоставляет компонент APINotifications, позволяющий приложениям «подталкивать» измененные элементы, которые нуждаются в индексации для индексатора Windows Search. Приложения используют этот компонент для предоставления URI элементов, которые необходимо индексировать, а URI записываются в очередь Gather Queue, где они считываются индексатором. Microsoft Office Outlook 2007, а также Microsoft Office OneNote 2007 используют эту возможность для индексирования элементов, управляемых ими, и использования запросов Windows Search для предоставления функций поиска в приложении. Внутренний компонент USN Notifier оповещения Windows Search также использует API уведомлений, отслеживая журнал изменений в томе NTFS, чтобы отслеживать файлы, которые были изменены на томе. Если файл находится в местоположении, индексированном по поиску в Windows, и не имеет атрибута FANCI (атрибут «Атрибут файла, не содержащий содержимого»), служба поиска Windows уведомляется о своем пути.

Архитектура

Поиск Windows реализован как служба Windows. Служба поиска реализует API конфигурации и поиска Windows Search, а также элементы управления, как и все компоненты индексирования и запроса. Наиболее важным компонентом Windows Search является Indexer, который выполняет обход файловой системы при первоначальной настройке, а затем прослушивает уведомления файловой системы, чтобы получать измененные файлы, чтобы создать и поддерживать индекс данных. Это достигается с помощью трех процессов:

  • SearchIndexer.exe, на котором размещаются индексы и список URI, требующих индексации, а также представлены внешние API конфигурации и запросов, которые используются другими приложениями для использования возможностей Windows Search.
  • SearchProtocolHost.exe, на котором размещаются обработчики протоколов. Он выполняется с наименьшим разрешением, требуемым для обработчика протокола. Например, при доступе к файловой системе он запускается с учетными данными системной учетной записи, но при доступе к общим сетевым ресурсам он запускается с учетными данными пользователя.
  • SearchFilterHost.exe, в котором размещаются IFilters и обработчики свойств для извлечения метаданных и текстового содержимого. Это процесс с низкой целостностью, то есть у него нет никаких прав на изменение системных настроек, поэтому, даже если он обнаруживает файлы с вредоносным контентом и, если им удастся перенести процесс, они не смогут Для изменения любых настроек системы.

Служба поиска состоит из нескольких компонентов, в том числе Gatherer, Merger, контроллера отката и процессора запросов, среди прочих. Собиратель извлекает список URI, которые нужно обходить, и вызывает соответствующий обработчик протокола для доступа к хранилищу, в котором размещается URI, а затем к соответствующему обработчику свойств (для извлечения метаданных) и IFilter для извлечения текста документа. Различные индексы создаются во время разных прогонов; Это задача Слияния периодически слить индексы. При индексировании индексы, как правило, сохраняются в оперативной памяти, а затем сбрасываются на диск после слияния, чтобы уменьшить объем дискового ввода-вывода. Метаданные хранятся в хранилище свойств, которое является базой данных, поддерживаемой механизмом базы данных ESE. Текст является токенизированным, а токены хранятся в пользовательской базе данных, созданной с использованием инвертированных индексов. Помимо индексов и хранилища свойств поддерживается еще одна постоянная структура данных: очередь Gather. Очередь Gather поддерживает приоритетную очередь URI, которая нуждается в индексации. Контроллер обратного вызова, упомянутый выше, контролирует доступные системные ресурсы и управляет скоростью, с которой работает индексатор. Он имеет три состояния: Архитектура поиска Windows

  • Запуск: в этом состоянии индексатор работает без каких-либо ограничений. Индексатор выполняется в этом состоянии только в случае отсутствия конкуренции за ресурсы.
  • Дросселирование: в этом состоянии обход URI и извлечение текста и метаданных намеренно задушены, так что количество операций в минуту держится под жестким контролем. Индексатор находится в этом состоянии, когда есть конкуренция за ресурсы, например, когда работают другие приложения. Путем регулирования операций обеспечивается то, что другие операции не будут лишены ресурсов, которые могут им понадобиться.
  • Отменено: в этом состоянии индексирование не выполняется. Поддерживаются только очереди Gather, поэтому элементы не остаются неиндексированными. Это состояние активируется при крайней нехватке ресурсов (менее 5 МБ ОЗУ или 200 МБ дискового пространства) или если индексирование настроено на блокировку, когда компьютер находится в режиме питания от батареи, или если пользователь индексирования вручную приостановлен пользователем.

Синтаксис расширенного запроса

Запросы Windows Search задаются в Advanced Query Syntax (AQS), который поддерживает не только простой текстовый поиск, но также предоставляет расширенные операции запроса на основе свойств. AQS определяет определенные ключевые слова, которые можно использовать для уточнения поискового запроса, такие как указание логических операций на искомых терминах (AND, OR, NOT), а также для определения дополнительных фильтров на основе метаданных файла или типа файла. Его также можно использовать для ограничения результатов из определенных хранилищ информации, таких как обычные файлы, кеш автономных файлов или почтовые хранилища. Доступны также специальные типы файлов. WDS также поддерживает поиск совпадений с префиксом подстановочных знаков. Он также включает несколько SQL-подобных операторов, таких как GROUP BY. AQS зависит от языка и использует разные ключевые слова в международных версиях Windows 7.

Windows Desktop Search

Windows Desktop Search представляет собой реализацию Windows Search для Windows XP и Windows Server 2003. Поисковые запросы задаются с использованием синтаксиса расширенного запроса и выполняются, пока пользователь вводит (инкрементальная находка). По умолчанию в нем содержится несколько IFilters для наиболее распространенных типов файлов - документов, аудио, видео, а также обработчиков протоколов для электронной почты Microsoft Outlook. Другие обработчики протоколов и IFilters могут быть установлены по мере необходимости [Источник 2].

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

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

Панель поиска также имеет возможность создавать псевдонимы приложений, которые представляют собой короткие строки, которые можно настроить для открытия различных приложений. Доступ к этой функции осуществляется путем префикса! Символ в предопределенную строку. Например, «! Calc» открывает калькулятор Windows. Справочная документация включает синтаксис для создания псевдонимов приложений из любой текстовой строки, независимо от префикса. Эта функция также может быть использована для создания ярлыка для URL-адресов, которые при вводе будут открывать указанный URL-адрес в браузере. Его также можно использовать для отправки параметризованной информации по URL-адресу, которые используются для создания псевдонимов поиска. Например, «w text» можно настроить для поиска «text» в Википедии.

Релизы

Windows Desktop Search первоначально была выпущена как MSN Desktop Search, как часть набора инструментов MSN Toolbar. Он был повторно представлен в качестве Настольного поиска Windows с версией 2, но все еще распространяется с помощью Панели инструментов MSN.

Для Windows 2000, Windows XP и Windows Server 2003 он имел два режима: один для домашних пользователей, а другой для корпоративного использования. Единственное различие между ними заключается в том, что последние могут быть настроены с помощью групповой политики. Домашняя версия была связана с MSN Toolbar, а другая была доступна как отдельное приложение. Позднее, когда панель инструментов MSN была прекращена в пользу панели инструментов Windows Live, также была прекращена домашняя версия Windows Desktop Search. Последней версией, доступной для Windows 2000, является Windows Desktop Search 2.66.

Для Windows XP и Windows Server 2003 версия 3.0 Desktop Desktop Search была предоставлена ​​как отдельная версия - отдельно от панели Windows Live. Одной из важных новых функций Windows Desktop Search 3.0 также является установка Property System в Windows XP, представленная в Windows Vista. Windows Desktop Search 3.0 предназначена для пользователей, работающих до Windows Vista, поэтому индексатор был реализован как служба Windows, а не как приложение для каждого пользователя, чтобы один и тот же индекс, а также один экземпляр службы можно было обменивать Все пользователи - тем самым повышая производительность. Windows Desktop Search оказалась в центре противоречий 25 октября 2007 года, когда Windows Desktop Search 3.01 автоматически вытеснялся и устанавливался в Windows при обновлении через службы Windows Server Update Services (WSUS). Microsoft ответила двумя сообщениями в блоге Team Product WSUS.

Windows Search представляет собой индексированную поисковую платформу в Windows Vista, Windows 7 и Windows Server 2008 и предлагает расширенный набор возможностей, предоставляемых Windows Desktop Search, будучи совместимым с API. В отличие от WDS, он может легко искать как индексированные, так и неиндексированные местоположения - для индексированных местоположений индекс используется, а для неиндексированных местоположений обработчики свойств и IFilters вызываются «на лету» при выполнении поиска. Это позволяет получить более согласованные результаты, хотя и ценой скорости поиска по неиндексированным местоположениям. Windows Search использует групповую политику для централизованного управления.

Windows Search индексирует автономные кэши сетевых папок, в дополнение к локальным файловым системам, хранилищам электронной почты Microsoft Outlook и хранилищам Microsoft OneNote, индексированным WDS Windows Search, также поддерживает запросы к удаленному индексу. Это означает, что если файловый сервер, на котором размещается сетевой ресурс, работает под управлением Windows Vista или более поздней версии Windows или Windows Search 4.0 в Windows XP, любые запросы к общей папке будут запрошены на индекс сервера и будут представлены Результаты для клиентской системы, отфильтровывая файлы, к которым у пользователя нет доступа. Эта процедура прозрачна для пользователя.

В отличии от Windows Desktop Search в Windows XP индексирующее средство Windows Search выполняет операции ввода-вывода с низким приоритетом, процесс также работает с низким приоритетом процессора. В результате, когда другим процессам требуется пропускная способность ввода-вывода или процессорное время, он может упредить индексатор, тем самым значительно снижая производительность, связанную с индексером, работающим в фоновом режиме.

Windows Search поддерживает поиск на естественном языке; Так что пользователь может искать такие вещи, как «фото, сделанное на прошлой неделе» или «электронное письмо, отправленное от Dave». Однако по умолчанию этот параметр отключен. Естественный языковой поиск выражает запросы в синтаксисе естественного запроса (NQS), который является эквивалентом естественного языка AQS.

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

Функции поиска отображаются с помощью полос поиска в меню «Пуск» и в верхнем правом углу окон Windows Explorer, а также в диалоговых окнах «Открыть / Сохранить». При поиске в меню «Пуск» результаты отображаются в самом меню «Пуск», перекрывая недавно используемые программы. В меню «Пуск» также можно запустить приложение, выполнив поиск его имени исполняемого файла или отображаемого имени. Поиск на панели поиска в окнах Проводника заменяет содержимое текущей папки результатами поиска. Окна Explorer также могут отображать эскизы в результатах поиска, если обработчик эскизов зарегистрирован для определенного типа файла. Он также может выполнять расширенный просмотр элементов на панели предварительного просмотра без запуска приложения по умолчанию, если приложение зарегистрировало обработчик предварительного просмотра. Это может обеспечить такие функции, как навигация по типу файлов (например, просмотр презентации с использованием следующих / предыдущих элементов управления или поиск внутри медиа-файла). Обработчики предварительного просмотра могут также разрешить выполнение определенных видов выбора (например, выделение фрагмента текста) из самой панели предварительного просмотра. В панели управления в строке поиска в окне можно также найти параметры панели управления. Однако, в отличие от WDS, Windows Search не поддерживает создание псевдонимов. Существует также Search Explorer, который представляет собой интегрированное окно проводника Windows, которое используется для поиска. Он представляет пользовательский интерфейс для указания параметров поиска, включая местоположения и типы файлов, которые следует искать, и определенные операторы, не обрабатывая вручную запросы AQS. В Windows Vista SP1 сторонние приложения смогут переопределять Search Explorer в качестве интерфейса поиска по умолчанию, так что зарегистрированное стороннее приложение будет запускаться вместо того, чтобы вызывать Search Explorer, когда вызывается любым способом.

В Windows Search, который является частью Windows Vista, также можно сохранить поисковый запрос в виде виртуальной папки, называемой сохраненной поисковой или поисковой папкой, которая при обращении запускает поиск с сохраненным запросом и возвращает результаты в виде Список папок. Физически папка поиска - это просто файл XML (с расширением .search-ms), в котором хранится поисковый запрос (в AQS или NQS), включая также операторы поиска. Windows Vista также поддерживает композицию запросов, где сохраненный поиск (называемый областью) может быть вложен в строку запроса другого поиска. Папки поиска также распространяются через RSS. По умолчанию Windows ссылается на профиль пользователя, который изначально создал папку поиска в рамках области запроса. Такой выбор дизайна не препятствует совместному использованию сохраненных поисков с другими пользователями, но не позволяет им работать с разными профилями пользователей. Хотя пользователи могут вручную изменять содержимое сохраненного поиска, чтобы область ссылалась на переменную среды% USERPROFILE%, которая позволит ему работать на других машинах или профилях независимо от оригинального автора, Microsoft выпустила утилиту SearchMelt Creator, которая автоматизирует это Процесса для пользователя.

Windows Search 4.0

Windows Search 4.0 (также известный ранее как Windows Live Search, под кодовым названием Casino или OneView) является преемником платформы Windows Search для Windows Desktop Search 3.0 в Windows XP, а также Instant Search в Windows Vista. В основном это обновление компонентов индексирования, с небольшим изменением пользовательского интерфейса XP и отсутствием в Vista. Он также обеспечивает поддержку удаленных запросов в системах на базе XP и Windows Server 2003, которые раньше были функцией только для Vista. Это позволяет пользователю с клиентом Vista (или клиентом XP с Windows Search 4.0) искать индекс сетевых машин, на которых также установлена ​​поддерживаемая операционная система (Windows 8, 7, Vista, Windows Server 2008 или XP / 2003 с Windows Search 4.0). Windows Search 4.0 был первоначально предложен подразделением Microsoft Windows Live в качестве приложения, которое объединило бы локальный и удаленный индексированный поиск в новом интерфейсе. Ранние скриншоты программы показали новый дизайн интерфейса «чутье» в других клиентских приложениях Windows Live того времени, например Windows Live Messenger и Windows Live Mail.

Центр Windows Live Search мог искать веб-службы, которые использовали спецификацию OpenSearch, чтобы сделать результаты поиска доступными в виде веб-каналов. Он может агрегировать поисковые запросы из различных индексов, включая индекс поиска Desktop Search, хранилище общих фидов Windows RSS Platform и индексы Microsoft Exchange и Microsoft SharePoint, среди прочих.

Первая бета-версия Windows Search 4.0 была выпущена 27 марта 2008 года. Она включала в себя множество улучшений производительности индексатора и добавила в XP новые возможности, в том числе ранее эксклюзивные для Vista, включая интеграцию с групповыми политиками, объединение запросов в удаленные индексы, Поддержка EFS-зашифрованных файлов и обработчиков предварительного просмотра в стиле Vista, которые позволяют просматривать документы в определенном окне документа на панели предварительного просмотра.

Windows Search 4.0 был выпущен 3 июня 2008 года и поддерживается в XP, Windows Server 2003, Vista, Windows Server 2008 и Windows Home Server.

Источники

  1. Windows Search Overview // Microsoft Developer Network . [2017-2017]. Дата обновления: 01.06.2017. URL:https://msdn.microsoft.com/en-us/library/aa965362(VS.85).aspx (дата обращения 01.06.2017).
  2. Windows Desktop Search // Microsoft Developer Network . [2017-2017]. Дата обновления: 01.06.2017. URL: https://msdn.microsoft.com/en-us/library/aa965726(v=vs.85).aspx (дата обращения 01.06.2017).