close

Вход

Забыли?

вход по аккаунту

?

технология поиска файлов в ОС Windows

код для вставкиСкачать
В сегодняшней статье речь пойдет о механизме поиска с точки зрения его доступности как компонента платформы, а также с точки зрения его преимуществ для конечных пользователей. Поговорим и о том, на какие уступки, приходится идти в разработке, а также затронем вопрос методик, используемых для создания поискового механизма. Посему рад представить вам Криса Макконнелла (Chris McConnell), ведущего инженера по разработке программного обеспечения в команде Find and Organize. -- Стив.
Есть ли среди вас те, кто искренне считает, что причиной непрерывного мигания лампочки доступа к жесткому диску является индексирование? Считаете ли вы, что индексирование приводит к зависанию ваших игр? Если так, то эта статья именно для вас! Разработкой службы индексирования, которую далее мы будем называть индексатором, занимается команда Find and Organize. Одной из распространенных жалоб, которые мы постоянно слышим от опытных пользователей Vista, является желание отключить индексатор, поскольку, по их мнению, он потребляет львиную долю системных ресурсов, практически не предлагая ничего взамен. По нашим данным около 1,5% пользователей Vista отключают индексатор по причине этого заблуждения.
Цель данной статьи - уточнить роль индексатора и рассказать о работе, которая была проведена для обеспечения разумного потребления им ресурсов. Давайте начнем с функций индексатора - для чего он нужен и почему не следует его отключать?
Почему именно индексация?
На современных компьютерах, как правило, соседствуют различные типы файлов, среди которых документы, изображения, аудиофайлы, видео и другие. Количество файлов день ото дня растет, поэтому находить их с каждым днем становится все труднее и труднее, при этом неважно, насколько они организованы (или не организованы). Тем не менее, все эти файлы содержат метаданные, описывающие их содержимое, что с успехом можно использовать для их структуризации. В обычном аудиофайле, к примеру, содержится информация об артисте, названии альбома, дате его выпуска, жанре, длительности, которая крайне полезна при поиске музыки.
Несмотря на то, что технологии индексирования берут свое начало во времена ранних версий Windows, лишь с выходом Windows Vista компании Microsoft удалось вывести эту функциональность в главное русло. До Vista поиск носил рудиментарный характер, поскольку осуществлять его можно было по простым свойствам файла - имени, дате создания и размеру. В Windows можно было осуществлять более сложный поиск по содержимому файла, но эта функций не получила широкого распространения. Поиск имел базовые функции - все файлы с точки зрения его механизма были одинаковы, потому что алгоритм поиска не понимал и не использовал метаданные из файлов.
В Windows Vista служба индексирования включена по умолчанию и обладает расширенной поддержкой в смысле поддерживаемых типов файлов и индексируемых метаданных. Индексатор следит за определенными папками на жестком диске и каталогизирует их содержимое с целью ускорить поиск этих файлов в будущем. Когда Windows индексирует музыкальные файлы, используются те метаданные, по которым обычно пользователи осуществляют поиск. Таким образом, можно выполнять расширенный поиск, который ранее был попросту невозможен. Но нужно понимать, что ничего не дается просто так. Вот и случае индексирования все его преимущества не бесплатны для пользователя (в смысле потребления системных ресурсов), поэтому приходится идти на некоторые уступки. Но не стоит думать, что этим грешит лишь индексирование - при разработке любой функции разработчики вынуждены идти на различные уступки.
Уступки, на которые приходится идти
Многие поисковые механизмы последовательно читают все файлы чтобы найти совпадения. В данном случае приходится терять время, ожидая результатов поиска. Чем больше файлов на компьютере, тем дольше придется ждать. Если в будущем вновь понадобиться поискать по тому же самому слову, снова придется ждать. В Windows Vista идексатор пытается прочитать все файлы до того, как вы захотите произвести поиск. Для этого ему необходимо всего лишь однажды просканировать все файлы, а не делать это каждый раз, когда понадобится провести поиск. Если файл изменится, индексатор получит уведомление и ему придется заново перечитать файл. При чтении файла индексатор извлекает значимую информацию из него, чтобы в будущем обеспечить возможность более интеллектуального поиска и представления информации. Сложность состоит в том, чтобы выполнить эту операцию максимально быстро, чтобы индекс был в актуальном состоянии. При этом создание индекса не должно сказываться на производительности системы.
Неотъемлемый элемент Windows
Мы потратили немало усилий, чтобы сделать индексатор неотъемлемой частью Windows. По этому поводу мы опубликовали документ, но на мой взгляд следует озвучить некоторые из его тезисов в данной статье. Во-первых, индексатор следит лишь за определенными папками, что самоограничивает количество работы и ресурсов, необходимых для выполнения процедуры. Во-вторых, индексатор приостанавливает свою работу сразу же, как только пользователь начинает активно загружать свой компьютер. В зависимости от уровня нагрузки на систему индексатор может снизить скорость индексирования или вообще приостановить процесс. Когда индексатор читает файлы, он использует низкоприоритетные операции ввода-вывода, поэтому при обращении другого приложения к этому же файлу индексатор моментально прекращает чтение.
Это важно не только для отдельных компонентов (в частности Windows Search), но и самой платформы Windows. Существует масса приложений, которым требуется осуществлять поиск по содержимому файла на компьютере. Только представьте, если бы каждое из них сопровождалось собственной версией индексатора! Только подумайте, сколько лишней работы выполнял бы ваш компьютер! Каждый раз при сохранении файла заданного типа все индексаторы отчаянно стремились бы проиндексировать новый файл. С целью избавить пользователя от ненужных нагрузок на его компьютер и был создан индексатор, позволяющий индексировать файлы различных типов. Кроме того, нами были выпущены API, позволяющие разработчикам настраивать индексатор под свои нужды. В целом индексатор знаком с двумястами распространенными типами файлов и умеет каталогизировать около четырехсот различных свойств файлов. В любой момент времени можно добавить поддержку новых приложений, новых типов файлов и свойств. Существует возможность добавить поддержку индексирования других типов данных, например, сообщений электронной почты. На сегодняшний день индексирование активно применяется в следующих приложениях: Microsoft Office Outlook и OneNote, Lotus Notes, Windows Live Photo Gallery, Internet Explorer 8 и Google Desktop Search. Еще одним примером удачного использования индексатора является индексация компонентами Tablet PC рукописных надписей, позволяющая в значительной степени улучшить систему распознавания рукописного ввода.
Автор
milkjkeee
Документ
Категория
Без категории
Просмотров
163
Размер файла
23 Кб
Теги
rtf
1/--страниц
Пожаловаться на содержимое документа