Яндекс для всех.

4.3. Персональный поиск.

Насколько проще найти информацию на своем компьютере, чем в Интернете? Хорошо, если у вас все организовано так, как может быть в идеале — все файлы разложены по папкам, для которых проработана структура, каждый файл имеет вполне распознаваемое название, у каждого файла в свойствах дается краткое описание и ключевые слова.

Увы, о таком идеальном порядке на компьютере остается только мечтать. То забудешь дать файлу толковое название (а о свойствах забывают почти все), то структура папок становится громоздкой, и уже найти папку становится проблематично. То счет количества файлов идет на тысячи. Разве здесь упомнить, в каком файле содержится нужная информация? Тем более если эта информация находится в разных файлах.

Можно использовать возможности операционной системы и выполнять поиск с помощью ее инструментов. Но эти поисковые возможности довольно низкие, и результативность поиска невелика. Лучше использовать специализированные программы, предоставляющие более широкие возможности и существенно более высокие результаты. И здесь нельзя не обратить внимания на программу, которую предлагает Яндекс. Этот бесплатный программный продукт называется Персональный поиск Яндекса (рис. 4.14) — специальная программа, которую можно установить на компьютере и осуществлять с ее помощью полнотекстовый поиск с учетом морфологии русского языка по файлам разных форматов.

Яндекс для всех.

Программа основана на коде, который применяется в поисковой системе Яндекса. Искать на компьютере теперь можно с использованием всех имеющихся у вас навыков поиска в Интернете и с учетом всех возможностей формирования поисковых запросов, которые применяются на Яндексе. Полнотекстовый поиск обеспечивает поиск по файлам различных форматов — DOC, XLS, PPT, PDF, SWF, HTML, TXT, музыкальным файлам MP3, почтовым базам Outlook, Outlook Express, The Bat! Mozilla Thunderbird, временным файлам (кешам) трех наиболее популярных браузеров — Internet Explorer, Mozilla Firefox и Opera, файловым архивам.

Если до выхода этого (бесплатного, как было сказано) продукта Яндекс предлагал поисковые решения для веб-мастеров ^^^^.Server), для поиска по статическим наборам данных (Яндекс. Publisher) и для разработчиков (Яндекс. SDK), то теперь появилось решение и для обычных пользователей, не требующее от них никаких специальных знаний, да и доступа к Интернету тоже.

4.3.1. Установка программы.

Скачать программу может любой пользователь, подключающийся к Сети даже по обычному модему — размер дистрибутива последней версии немногим больше 4 Мбайт. В документации на программу ничего не говорится о том, необходимо ли закрывать какие-либо приложения перед установкой, а вот для нормального индексирования даже необходимо, чтобы были запущены приложения Outlook и Thunderbird, чьи базы индексируются, только если эти приложения работают.

Установка программы много времени не занимает. Время будет расходоваться позже, когда вы запустите процесс первоначального индексирования. На мой взгляд, наиболее корректный вариант заключается в установке программы, перезагрузке системы и запуску индексирования только после перезагрузки. Нежелательно начинать процесс индексирования так, как предлагается программой — немедленно после установки. В некоторых случаях возможно зависание компьютера.

4.3.2. Настройка.

Итак, программа установлена, компьютер перезагружен. С помощью меню Пуск | Все программы | Яндекс | Персональный поиск запустите программу. После запуска она разместится в панели программ. По правой кнопке мыши откроется меню, в котором вам надо выбрать пункт Настроить.

Настроек немного — всего три вкладки: Где искать, Типы файлов, Прочие настройки.

Вкладка Где искать.

На вкладке Где искать разместился аналог проводника Windows, но он несколько расширен (рис. 4.15). От проводника здесь пункт Мой компьютер, через который вы можете отметить любые логические диски или разделы на них. Остальные пункты этого проводника напрямую связаны с расширенными возможностями программы.

Яндекс для всех.

Расширения напрямую зависят от программ, установленных на вашем компьютере (в процессе установки Персональный поиск собирает эту информацию и учитывает в дальнейшей работе). Таким образом, в дополнение к обычному проводнику могут быть добавлены ветви Internet Explorer, FireFox (ветка будет добавлена при наличии установленной версии, но доступна для индексирования будет только при запущенной программе), Outlook (аналогично FireFox), Outlook Express, The Bat! (индексирование почты этих двух программ не зависит от того, запущены они или нет), а также другие браузеры и почтовые клиенты.

По словам менеджера проекта Александра Быкова, после выхода первой версии программы персонального поиска больше всего было обращений с просьбой добавить возможность поиска по базе популярного почтового клиента Mozilla Thunderbird. Теперь при установленном клиенте одна из веток будет соотноситься с его папками. Последнее же добавление было связано с поддержкой поиска по почтовым базам другого популярного клиента — The Bat!

Для выбора логического диска или его раздела выберите и отметьте его. Так же, как и в отношении дисков и папок, вы можете установить или снять отметки для каждого доступного приложения, чтобы программа знала, чьи файлы ей придется индексировать. Для почтовых программ, кроме этого, вы можете выбрать отдельные почтовые ящики и даже папки в этих ящиках (так, к примеру, обстоит дело с The Bat! — можно сразу исключить из процесса индексирования папки для удаленных писем).

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

Примечание. Если вы пользуетесь программой Персональный поиск Яндекса уже давно и не обновляли установленную версию, рекомендую вам это сделать. Последние обновления (по состоянию на конец 2006 года) включали возможность индексирования почтовых сообщений The Bat! файловых архивов, новых типов файлов.

На тот случай, если вы уже после установки Персонального поиска устанавливали или переустанавливали одну из следующих программ — Firefox, Thunderbird или The Bat! для корректной работы поиска необходимо воспользоваться кнопкой Переустановить расширения вкладки Где искать. После выполнения этой операции Персональный поиск сможет выполнять индексирование данных, связанных с названными программами.

Вкладка Что искать.

Что можно сказать на это? Разве что повторить знаменитое изречение Козьмы Пруткова "Нельзя объять необъятное". На эту тему можно поспорить и сказать, что современные компьютеры настолько быстры, что могут проиндексировать и найти все, что на них есть. Могут. Вопрос в другом — а нужно ли это делать? Нужно ли включать в число индексируемых файлы всех типов, поддерживаемых Персональным поиском? Поэтому на втором шаге настройки, когда необходимо выбрать типы файлов, которые будут индексироваться, постарайтесь выбрать все, что необходимо, но ничего лишнего. Если у вас на компьютере ограниченное и постоянное количество музыкальных файлов, следует ли включать их в список для индексирования? Аналогично и по отношению к другим типам.

Но вернемся ко второй вкладке, на которой вам и предстоит сделать такой выбор. Все поддерживаемые типы файлов разбиты на 5 групп (рис. 4.16):

□ Текстовые документы;

□ Документы Microsoft Office;

□ Аудио;

□ Архивы;

□ Другие форматы.

Яндекс для всех.

К текстовым документам разработчики отнесли файлы в формате Adobe PDF, DjVu, архивированные веб-страницы (MHT). Не говоря уже о форматах TXT, HTML и др. Из офисных продуктов поддерживаются файлы, созданные с помощью MS Word, Excel, Power Point.

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

Среди архивов поддерживаются лишь два формата, наиболее распространенных — Zip и Rar, а среди прочих форматов присутствует формат CHM, соответствующий компилированным файлам документации и справок.

Что будет проиндексировано в почтовых клиентах? В ваших почтовых ящиках наверняка встречаются письма, имеющие различные вложения. Если вы используете Thunderbird или TheBat! будут проиндексированы вложения всех поддерживаемых (и выбранных вами в настройках) типов. Для других почтовых приложений вложения не индексируются. И еще один момент, связанный с индексированием почтовой переписки. При использовании протокола IMAP индексироваться будут лишь заголовки и те письма, которые были вами скачаны на компьютер, где установлена программа персонального поиска.

Вкладка Где хранить.

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

Следующая настройка определяет браузер, используемый для работы с программой, ввода запросов и вывода результатов поиска. Если у вас установлено несколько различных браузеров, то первоначально будет использоваться тот из них, который в системе используется по умолчанию. Для смены браузера можно либо выбрать его из списка, либо указать местоположение исполняемого файла программы на своем диске. И несколько мелких косметических настроек. Вы можете назначить количество документов, которые будут выводиться в окне результатов. Значение по умолчанию равно 10, но для современных мониторов и с учетом того, что данные хранятся локально, вполне можно увеличить это количество. Верхняя граница количества документов, которые могут выводиться на одной странице, составляет 255. Здесь же можно задать видимость индикаторов персональных сервисов Яндекса (по аналогии с тем, что вы видите в окне браузера, когда подключаетесь к Яндексу). И, наконец, определить, будет ли загружаться программа при запуске системы или нет.

4.3.3. Работа с программой.

Если вы настроили программу на запуск при старте операционной системы, то обращаться к ней, выполнять поиск удобно через ее пиктограмму, расположенную в панели программ. В противном случае, можно запустить ее через меню, либо разместить ссылку на программу на рабочем столе. Если программа запущена, открыть ее можно и иным путем — создать в браузере закладку, по которой будет открываться форма поиска. Обычный адрес, используемый для доступа к поисковому серверу, выглядит так: http://127.0.0.1:9375/.

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

В контекстном меню программы, кроме опции ее запуска, присутствует опция для выбора способа индексирования данных. Индексация — это процесс отражения изменений, происходящих в файлах, среди которых планируется выполнять поиск. Когда среди документов появляются новые, они должны появиться и в поисковом индексе, и наоборот, при удалении документов, они должны быть удалены из индекса. Этот процесс и осуществляется при любом способе индексирования.

Выбор невелик — всего три варианта (рис. 4.17). Либо индексирование отключено, и тогда новые данные в индекс для поиска не добавляются. Можно выбрать режим принудительного индексирования, при котором происходит поиск и добавление в индекс измененных или добавленных с момента предыдущей индексации файлов. Этот процесс выполняется вне зависимости от загрузки вашего компьютера в связи с чем рекомендуется запускать его в период минимальной загрузки либо включать во внерабочее время (или ночью, если программа установлена на домашнем компьютере).

Яндекс для всех.

При небольшой или средней загруженности компьютера и постоянном пополнении данных, предпочтительнее выбирать промежуточный вариант, называемый Интеллектуальный. В этом режиме процесс индексации запускается автоматически, если в течение 30 секунд не происходит обращений к клавиатуре или мыши и загрузка процессора составляет не более 35 %. В тот момент, когда пользователь начинает работать с клавиатурой или мышью, индексация приостанавливается. При этом варианте работы в случае, если компьютер переходит на питание от батарей, процесс индексирования также приостанавливается.

Сориентироваться в том, работает ли программа в режиме индексирования или нет, можно по цвету пиктограммы, размещенной в панели задач. Если полная индексация завершена, цвет значка Я на панели задач станет монотонно красным. В противном случае значок будет наполовину серый. А в режиме индексации дополнительный слеш в составе значка будет изменять свое положение, "крутиться".

Сколько же проиндексировано ваших файлов? Об этом можно будет узнать на странице поиска. В нижней части страницы выводится информация об общем количестве проиндексированных документов и времени последнего обновления индекса.

Форма поиска.

После запуска программы в режиме Искать в браузере откроется поисковая форма. По своему составу и внешнему виду она очень похожа на форму поиска для экономных (http://ya.ru). За небольшими дополнениями.

Первое дополнение заключается в том, что в эту форму добавлена кнопка Войти. Да, если вы во время работы подключены к Интернету, при нажатии на эту кнопку вы авторизуетесь на Яндексе. Для авторизации откроется стандартное окно, где вы сможете либо ввести свой логин и пароль, либо, если у вас еще нет своей учетной записи, зарегистрироваться вновь. Если подключение прошло нормально, в верхней строке окна поиска появятся персональные индикаторы, показывающие состояние вашей почты, ленты и денег, а кнопка Войти будет переименована в кнопку Выйти.

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

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

Subject=(текст).

Помимо subject, можно также использовать from и to для поиска по отправителю и получателю письма соответственно.

Если вы знаете тип файла, в котором должна находиться нужная информация, вы также можете задать его в составе запроса:

Mime="ppt".

В этом случае поиск будет вестись среди файлов презентаций. Аналогично можно использовать и любые другие поддерживаемые расширения.

А теперь пора проверить, как работает поиск. Обратите внимание, что работали вы с программой персонального поиска или нет, в строке поиска вы сможете увидеть ваши запросы, по которым вы выполняли поиск на Яндексе. Браузер не разбирает, где вы искали, и "цепляет" к истории запросов все, что искалось на Яндексе (вне зависимости от того, подключены вы к Интернету в этот момент или нет).

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

Результаты поиска.

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

Все найденные по вашему запросу файлы группируются по табам в зависимости от их типа. Так, файлы с расширениями doc, xls, ppt, swf, pdf, rtf, html, txt, mht, chm, eml, djvu, zip, rar и tar попадают в таб Документы, mp3 и ogg — в таб Музыка, письма из почтовых баз Outlook, Outlook Express, Thunderbird и TheBat! и вложения любых типов, найденные в почтовых базах, — в таб Письма, а все страницы из кешей браузеров Internet Explorer, Firefox и Opera — в таб Кеш.

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

Несколько иначе, чем при поиске по вебу, представлены сами результаты обработки запроса. Каждому результату соответствует пиктограмма, отображающая тип файла. В качестве заголовка используется тег <title>, если это веб-страница, тема письма, найденный текст в текстовом файле. Для каждого документа показана дата его последнего изменения.

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

Яндекс для всех.

В следующей строке показан путь к найденному файлу или почтовой папке. При этом для файлов этот путь формируется довольно интересно. По ссылке, которая высвечивается, можно перейти в раздел, где находится файл. Но если "развернуть" ссылку, щелкнув на значку + слева от нее, то имя файла переместится в новую строку и также станет ссылкой, по которой можно открыть файл (но не перейти к нему).

Переход по ссылке с заголовка откроет найденный файл в приложении, которое ему соответствует.

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

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

Примечание. Давно пользуясь почтовым клиентом The Bat! всегда оставался неудовлетворен возможностями его поиска. Медленно и долго он выполняется на больших папках. Для Персонального поиска этой проблемы не существует — информация заранее проиндексирована, и поиск ведется с максимально возможной скоростью. Недостатком, пожалуй, является то, что нет возможности расширенной настройки поискового запроса, в которой можно было бы уточнить запрос по периоду создания файлов, размеру, месту поиска (определенный раздел на диске или почтовой папке). Сложные запросы придется формировать "вручную", дополняя поисковое выражение дополнительными параметрами.

Персональный поиск для разработчиков.

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

Для облегчения труда разработчиков в комплект разработки включена документация с примерами в виде исходных текстов некоторых новых расширений — например, парсеров текстовых файлов формата DjVu и писем почтового клиента TheBat!.

API позволяет сделать персональный поиск еще более персональным — если, конечно, вы или ваши знакомые умеют программировать, — говорит менеджер проекта Александр Быков. — Сейчас мы предлагаем предварительную версию API, она должна помочь нам понять, что именно необходимо сторонним разработчикам для создания собственных расширений к Персональному поиску. Мы ждем отзывов и постараемся учесть поступившие к нам предложения.

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

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

Для написания такой программы необходимо изучить структуру выбранного для разбора типа документа и написать код для его чтения.

Необходимо понять различие между двумя типами программ, используемых для преобразования. Их называют парсеры и датасорсы. Первые предназначены для индексирования файлов определенного типа (текстовых, формата Word, MP3). Вторые — для обработки файлов и документов, связанных с определенной программой (история сообщений ICQ, кеш браузера, почтовые сообщения из Thunderbird). Как видите, датасорсы должны уметь подготовить к индексированию файлы любого формата, которые могут оказаться в составе кеша, почтового сообщения, иного набора данных.

Нужно уметь работать с MSVC 2003, разобраться в библиотеке SDK, примерах, входящих в состав пакета разработчика. И после этого у вас все должно получиться.