В предыдущей части статьи я продемонстрировал поиск в библиотеках и неиндексируемых местах, а также рассказал об операторах поиска. В этой части речь пойдет о:
Поиск с помощью календаря
Я часто обращаюсь к документам, картинкам и архивам, созданным или измененным в определенный период времени. Чтобы ускорить работу в проводнике, я сохранил несколько условий поиска, использующих календарь.
Фильтр календаря работает по принципу ТипДаты:Условие, где условием является период времени. Например:
- датасоздания:01.11.2009 .. 31.01.2010
- датаизменения:ранее на этой неделе
- датасъемки:в прошлом году
Когда в качестве периода указывается конкретная дата или диапазон дат (первый пункт в списке), поиск работает вполне предсказуемо. Но в календарь встроены также и динамические условия по дням, неделям, месяцам и годам. И я хочу остановиться на них подробнее, поскольку в календаре перечислены не все условия, а некоторые из приведенных там работают не вполне очевидно.
Встроенные условия календаря
Должен признаться, что я не сразу понял логику условий, предлагаемых для выбора в календаре. Особенно меня смущали те, что включают в себя слово «ранее». Как выяснилось, вся хитрость в том, что встроенные условия не накладываются друг на друга, т.е. их периоды не пересекаются. Словами это трудно описать — лучше один раз увидеть, чем сто раз услышать. Представьте, что сегодня 18 марта 2010 года, и посмотрите на картинку ниже.
Как видите, ни один из периодов не входит в другой. Поэтому поиск с использованием некоторых условий может привести к неожиданным результатам. Возможно, вы рассчитываете найти запросом датаизменения:ранее на этой неделе все файлы, измененные за эту неделю. Вынужден вас огорчить – в результатах не будет файлов, редактировавшихся вчера и сегодня. Но это не ошибка, поскольку «ранее на этой неделе» означает «на этой неделе, но раньше, чем вчера».
Аналогичная ситуация возникает и с условием «ранее в этом месяце», означающем «раньше, чем на прошлой неделе». Более того, это условие в принципе не может найти ничего, если с начала месяца прошло меньше двух недель.
Я полагаю, что разработчики поиска избрали такую логику для того, чтобы четко разграничить результаты и сделать каждый запрос уникальным, т.е. одни и те же файлы не находятся в разные периоды времени. Однако они могли поступить иначе, поскольку календарь поддерживает и другие условия.
Дополнительные условия календаря
В отличие от встроенных в календарь, дополнительные условия ведут себя более предсказуемо.
Как видите, каждый период включает в себя все предшествующие. Таким образом, условие «на этой неделе» находит все файлы, начиная с понедельника, а «в этом месяце» — все файлы с начала месяца.
Условия календаря и операторы поиска
Как это ни удивительно, но среди такого многообразия условий не нашлось нужного мне. А я всего лишь хотел найти файлы, измененные только сегодня и вчера. Дело в том, что иногда мой рабочий день затягивается за полночь, и мне нужно быстро отобразить только файлы, созданные на всем его протяжении. На помощь пришли операторы поиска, о которых я подробно рассказывал в предыдущей статье. В таблице ниже приводятся примеры запросов с использованием различных условий календаря и операторов поиска. Конечно, их можно дополнять другими условиями, в первую очередь ключевым словом для поиска по названию файла или его содержимому.
Чтобы найти | Используйте запрос |
файлы, измененные сегодня | датаизменения:сегодня |
документы, измененные в последние два дня (сегодня и вчера) | вид:=документ датаизменения:>ранее на этой неделе
Очень удобный запрос для поиска самых новых документов. |
картинки, созданные на этой неделе | вид:=изображение датасоздания:на этой неделе
или вид:=изображение дата создания>:на прошлой неделе Второй вариант запроса означает «новее, чем на прошлой неделе». |
письма, полученные в этом месяце | вид:=почта датаполучения:в этом месяце
или вид:=почта датаполучения:>в прошлом месяце Второй вариант запроса означает «новее, чем в прошлом месяце». |
письма, отправленные в этом месяце, но раньше прошлой недели | вид:=почта датаотправки:ранее в этом месяце
Фактически это условие находит хоть что-нибудь, начиная только с третьей недели месяца. |
фотографии, сделанные более месяца назад | датасъемки:<в этом месяце |
фотографии, сделанные более двух месяцев назад | датасъемки:<в прошлом месяце |
Я надеюсь, что логика понятна. Поиск по годам работает по такому же принципу, как по месяцам и неделям. Можно использовать условия «в этом году» и «в прошлом году», сочетая их с операторами.
Такой подробный разбор календаря отчасти являлся прелюдией к рассказу о сохранении условий поиска. Из примеров следующего раздела станет понятно, почему я уделил этому вопросу так много внимания.
Сохранение условий поиска
Выполнив поиск и получив желаемый результат, вы можете нажать на панели проводника кнопку Сохранить условия поиска, чтобы воспользоваться ими в будущем.
Сохраняются именно условия, а не список результатов, что очень удобно. Если вы в какой-то момент создадите или добавите на диск файлы, соответствующие сохраненным ранее условиям поиска, они найдутся без проблем.
По умолчанию условия сохраняются в папке «Поиски» вашего профиля в файле с расширением .search-ms, а ярлык закрепляется в разделе «Избранное» области переходов проводника.
Я приведу три примера условий поиска, которые я сохранил и использую чаще всего, и начну с самого простого.
Поиск по расширению файлов
Я постоянно пользуюсь поиском списков воспроизведения для музыкального проигрывателя. У меня в музыкальной библиотеке множество папок с альбомами, в каждой из которых имеется список воспроизведения, причем они могут быть в разных форматах. Сохраненные условия поиска помогают мне одним щелчком мыши отобразить сразу все списки воспроизведения вне зависимости от их формата. Условия поиска очень простые: *.m3u OR *.plc OR *.wpl, т.е. я просто ищу списки по расширениям файлов.
Конечно, современные проигрыватели обладают собственными библиотеками, где помимо поисковых возможностей есть различные варианты сортировки. Но поиск в Windows универсален тем, что его результаты легко «закинуть» в любую программу. В используемый по умолчанию проигрыватель — с помощью кнопки Воспроизвести на панели проводника, а в любой другой – просто перетаскиванием мышью.
Поиск по типу файлов и периоду времени
Есть задачи, которые в проводнике выполняют все пользователи, включая даже закоренелых фанатов альтернативных файловых менеджеров. Примерами могут служить прикрепление вложений к письмам или загрузка картинок на сайт, т.е. любые случаи использования диалогового окна «Открыть». Зачастую при этом мы обращаемся к измененному сегодня документу или только что сделанному снимку экрана. Да, можно перемещаться по дереву папок, не спеша добираясь до нужных файлов. Но можно переходить к ним одним щелчком мыши, если одновременно искать по виду или типу файлов и периоду времени.
Я подробно рассматривал календарь в предыдущем разделе статьи, и вот пример практического использования. Это поиск в библиотеке «Документы» определенных типов файлов, измененных вчера и сегодня:
*.doc OR *.xls OR *.ppt OR *.txt датаизменения:>ранее на этой неделе
Его легко видоизменить для поиска картинок в библиотеке «Изображения»:
вид:=изображение датаизменения:>ранее на этой неделе
Оба условия у меня сохранены в «Избранном» проводника и очень ускоряют загрузку файлов в сеть и прикрепление вложений. Жаль только, что в некоторых программах до сих пор используется «старый» тип диалога «Открыть», в котором нет области переходов и меню «Избранное» (при желании ссылку на папку с избранным можно поместить в левой панели окна, но этот вопрос выходит за рамки данной статьи).
Поиск по расположению
Поскольку каждый раз выполняется новый поиск, в его результатах также можно искать. Поэтому можно сохранить относительно широкой критерий поиска. Например, можно перейти в папку «Загрузки» или на внешний USB-диск, найти все архивы запросом *.zip OR *.rar OR *.7z и сохранить условие. В дальнейшем можно сужать его дополнительным поиском в результатах – по названию, размеру или дате, как вам удобно. Смысл такого подхода заключается в экономии времени, которое требуется для ввода запроса в поле поиска. Представьте, что поисковый запрос – это некая виртуальная папка, и таких папок вы можете создать сколько угодно. Если вы часто выполняете поиск в определенном расположении, попробуйте сохранить условия и пользоваться ими.
Федеративный поиск
Слово «федерация» имеет латинское происхождение и означает «объединение». С помощью федеративного поиска пользователи получают возможность искать в различных ресурсах из единого расположения – проводника Windows. Преимуществами федеративного поиска в первую очередь могут воспользоваться организации, имеющие сетевые ресурсы и внутренние порталы (интранет). При этом не играет особой роли то, на чем построен такой портал. Windows 7 поддерживает подключение внешних поисковых источников по протоколу OpenSearch , поэтому единственное требование к поиску – это способность выводить результаты в формате XML.
Возможности
В Windows 7 реализована поддержка OpenSearch 1.1 и следующих форматов данных:
- RSS 2.0, 1.0, 0.91 & 0.92
- Atom 0.3 & 1.0
- MediaRSS (содержимое и эскизы)
Аутентификация возможна по протоколам NTLM и Kerberos, а также базовая через HTTPS.
Для пользователей такой поиск оказывается ничуть не сложнее локального. Поисковый запрос вводится как обычно, просто выбирается соединитель поиска, соответствующий нужному ресурсу. Вот так выглядят результаты поиска из проводника Windows 7 по сайту на SharePoint 2007:
Файлы, отображаемые в результатах, не перемещаются на клиентский компьютер до тех пор, пока пользователь не откроет документ или выполнит его предварительный просмотр.
За счет интеграции с проводником становятся доступны следующие преимущества:
- поиск в окнах проводника и в диалогах «Открыть» и «Сохранить как»
- отображение файлов и документов с привычными значками приложений
- возможность быстрого просмотра документов в панели проводника
- переход к веб-ресурсу в браузере, если необходимо
Федеративный поиск в организации
Для того чтобы предоставить пользователям возможность федеративного поиска, нужно:
- Включить или внедрить на веб-сервисе вывод поисковых результатов в соответствии с OpenSearch в форматах RSS или Atom.
- Создать OSDX-файл, описывающий подключение к сервису и схему элементов XML.
- Развернуть на клиентских компьютерах соединитель поиска.
Первые две задачи должны быть по плечу веб-разработчику, вооружившемуся документом Windows 7 Federated Search Provider Implementer’s Guide (на русском языке информация есть, например, здесь и здесь). Ну а с третьей играючи справится даже не самый искушенный системный администратор. Соединитель поиска – это файл в формате XML и расширением .searchconnector-ms. Он автоматически создается при запуске OSDX-файла, при этом ссылка сразу добавляется в «Избранное» области переходов проводника. Чтобы создать пользователю все условия, можно просто поместить соединитель в %userprofile%\searches, а ярлык – в %userprofile%\links. Таким образом, вся хитрость сводится к копированию нужных файлов на клиентский компьютер – это типовая задача.
Можно закрепить соединитель поиска в меню «Пуск» и поместить его в проводнике (в области «Повторить поиск» внизу окна результатов поиска), сделав его еще более доступным для пользователей. Для этой цели в Windows 7 предназначена групповая политика «Прикрепить библиотеки или соединители поиска к ссылкам “Повторить поиск” и меню “Пуск”». Как видно из названия, с ее помощью можно закреплять и ссылки на библиотеки.
Всего можно закрепить до пяти ссылок. Политика находится в разделе Конфигурация пользователя – Административные шаблоны – Компоненты Windows – Проводник Windows.
Для отображения соединителя достаточно указать путь (причем без кавычек) к существующему файлу .searchConnector-ms, либо .Library-ms, если нужно отобразить библиотеку. Принцип работы политики подробно описан прямо в редакторе.
Федеративный поиск дома
Федеративный поиск предназначен не только для организаций. Домашние пользователи могут применять его, например, для отправки запросов на веб-сайт или поисковый сервис из окна проводника. Опять же, Интернет-сервис должен поддерживать стандарт OpenSearch. Большинство крупных веб-сервисов его поддерживают – например, Bing, Yahoo, eBay, YouTube. Хорошую подборку готовых OSDX-файлов можно найти на этой странице. Если поиск вашего любимого веб-сайта не поддерживает OpenSearch, всегда можно организовать поиск по сайту с помощью стороннего сервиса. Ниже приводится пример поиска по OSZone.net с помощью Bing.
<?xml version="1.0" encoding="UTF-8"?> <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"xmlns:ms-ose="http://schemas.microsoft.com/opensearchext/2009/"> <ShortName>OSZone (Bing)</ShortName> <Description>Федеративный поиск по OSZone.net с помощью Bing</Description> <Url type="application/rss+xml" template="http://api.bing.com/rss.aspx?source=web&query={searchTerms} site:oszone.net&web.count=50" /> <Url type="text/html" template="http://www.bing.com/search?q={searchTerms}+site:oszone.net" /> </OpenSearchDescription>
Вы можете легко изменить пример под ваши нужды. Скопируйте код в блокнот и замените выделенный красным текст адресом нужного вам сайта. Затем нажмите сочетание клавиш CTRL+S и сохраните файл с любым именем и расширением .osdx, заключая оба в кавычки – например, “mysearch.osdx”. Теперь достаточно дважды щелкнуть по файлу, чтобы добавить собственный соединитель поиска в избранное проводника и папку «Поиски».
Переход к веб-странице из результатов такого поиска осуществляется обычным щелчком. Также можно использовать область предварительного просмотра – отображение страниц в ней, конечно, зависит от дизайна веб-сайта и ширины области. Наконец, можно перейти к результатам поиска на веб-сайте, щелкнув кнопку на панели проводника
Как видите, федеративный поиск обладает большой гибкостью – можно искать на любом сетевом ресурсе, не выходя из проводника.
Я посвятил три статьи основным возможностям поиска Windows 7, но еще не исчерпал темы для разговоров. В следующей статье я хочу взглянуть на поиск как на особый способ навигации по диску. Речь пойдет об интеграции поиска с проводником – ее возможностях и преимуществах по сравнению с предыдущими ОС Microsoft и альтернативными файловыми менеджерами. Я также затрону тему устранения неполадок поиска, которой не нашлось места в этой статье.
Valerii Volobuiev
Хорошо написано и полезно. Спасибо.
Vadim Sterkin
Спасибо, Валерий. Я надеюсь, что удовлетворил твое любопытство по поводу федеративного поиска :) Впрочем, я не смотрел со стороны разработчика, а ограничился ссылками. На мой взгляд, календарь в поиске — более загадочная штука.
Сергей
Здравствуйте, Вадим.
Очень понравился Ваш блог, много полезной информации для меня, читаю запоем :), огромное вам спасибо.
Вопрос:
Можно фильтровать по диапазонам дат, а можно ли такие же функции как то применить для времени.
Вот у меня каталог, там куча созданных за месяц файлов, мне нужно всегда выбирать из этого списка только те, что созданы после 19:00?
Vadim Sterkin
Сергей, я рад, что вам нравится блог :)
В общем слуаче, после даты изменения можно дописать время.
Но отдельно по времени не получится, как я представляю. Время является частью даты, а фильтры есть только по стандартным свойствам.
В зависимости от цели, можно попробовать скриптами вытянуть. Обращайтесь в Скриптовые языки администрирования Windows