Журнал «Компьютерра» № 5 за 7 февраля 2006 года - Компьютерра Журнал 619 10 стр.


Изначально Copernic предлагает упрощенный вариант создания индекса: на выбор «Документы», «Изображения», «Видео», «Музыка». Можно выбрать типы файлов по расширению, запретить индексирование, например, картинок менее 16х16 пикселов или звуковых файлов короче 10 секунд. Copernic умеет работать с электронными письмами и контактами из адресной книги Microsoft Outlook (Outlook Express), возможна индексация «Избранного» и «Истории» из Internet Explorer.

Тесты показали, что программа не ищет документы форматов txt и html на русском языке и позволяет найти их только по заголовкам, а не по содержанию. Единственное, что Copernic предоставляет для повышения эффективности поиска, – это стандартный набор логических операций. Несмотря на слабый анализ запросов, программа предоставляет интересную систему – пользователь может выбрать тип файлов (изображения, видео, музыка и т. п.), ввести поисковый запрос и выбрать атрибуты, присущие именно выбранному типу файлов. После поиска по определенному типу файлов выдается весьма информативный список в окне результатов, причем если под ваш запрос попали файлы других типов, вы сможете открыть и их, нажав на определенную ссылку.

Под списком найденных файлов отображается их содержимое, есть возможность просмотра мультимедийных файлов. Copernic прекрасно видит и индексирует «присоединенные» сетевые диски. Но на этом все и заканчивается.

Хороший образец простого и удобного «домашнего» поисковика.

SearchInform Desktop Professional 1.8

Разработчик: «СофтИнформ»

Официальный сайт: www.searchinform.com/site/ru

Цена: $199,95 (3000 рублей для граждан РФ)

Размер дистрибутива: 15 Мбайт

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

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

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

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

Корпоративная версия SearchInform Corporate состоит из двух приложений: серверного и пользовательского. Первая самостоятельно обрабатывает указанные индексы, а пользователи могут использовать их для поиска в зависимости от прав доступа. Пользователи могут быть настроены автоматически, с помощью учетных записей Windows (NTFS-аутентификация Windows) или вручную (придется добавлять по отдельности). Каждому пользователю можно разрешить или запретить доступ к определенным индексам, можно также объединять пользователей в группы.

«Ищейка Проф Deluxe»

Разработчик: Isleuthhound Technologies

Официальный сайт:www.isleuthhound.com/ru

Цена: $29

Размер дистрибутива: 6 Mбайт

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

Индексирование проходит гораздо медленнее, нежели у других программ. Скорее всего, дело тут в неоптимизированных алгоритмах. Окно результатов не слишком информативно: прочитать весь найденный файл можно только открыв его – встроенного просмотрщика нет. Зато выдается выдержка из файла, где встретилось искомое слово.

Такого понятия, как «искать текст», нет; максимум, что можно искать, – это фразу. «Ищейка» предлагает стандартный набор: логические операции, поиск по маске и цитатный поиск. Присутствуют зачатки морфологического поиска, но настолько сырого, что он скорее мешает корректной работе (во время тестов было множество накладок с неправильным использованием морфологии).

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

Для работы с сетью предназначено отдельное приложение – «Ищейка Сервер». Оно действует так же, как и десктоп-версия (поисковый движок един), только для документов, размещенных на сервере или общих ресурсах сети. «Ищейка Сервер» создает новые индексы на общих ресурсах или использует ранее созданные. Любой пользователь корпоративной сети может подключиться к программе и получать доступ к документам (находящимся в текущем индексе), используя интернет-браузер.

Персональный поиск «Яндекса» 0.9.8, сборка 298

Разработчик: «Яндекс»

Официальный сайт: desktop.yandex.ru

Цена: бесплатно

Размер дистрибутива: 2,3 Mбайт Вслед за многими монстрами интернет-поиска и наш родной «Яндекс» разродился программой для поиска персонального. И «теперь вы сможете искать по документам, письмам и другим данным на вашем собственном компьютере. Со скоростью Яндекса» – рекламный слоган с официального сайта. Правда, из-за сырости софтины (бета-версия, как-никак) было решено не включать ее в обзор.

Над интерфейсом разработчикам долго думать не пришлось. Практически идеальное решение для «домашнего» поисковика – работа в окошке браузера. Буковка "Я" в систем-трее, при нажатии на нее правой кнопкой мыши, предоставляет немногочисленные пока настройки, а по двойному клику открывается браузер «по умолчанию» в системе, и вуаля: ищи не хочу.

Настроек у программы действительно немного. Выбор дисков папок для индексации, управление процессом индексации (интеллектуальный и принудительный) и… все. Остальное как у «большого брата» в Интернете. Та же строка ввода поискового запроса и практически то же отображение результатов. На первый взгляд впечатления от программы самые положительные. Неискушенный пользователь с сотней-другой doc-файлов в папке «Мои документы» ничего другого ставить на компьютер и не захочет. Но ведь есть еще такой же простой, как топор, Google Desktop Search, скажете вы. Но «Яндекс» выгодно отличается от западного конкурента поддержкой русской морфологии.

Правда, когда программе было предложено проиндексировать 100 тысяч документов, притом разных форматов, она стала давать сбои и за три попытки так и не справилась с задачей. Пару раз «падала», после чего начинала индексацию заново. Невыносимо медленно идет индексация PDF-файлов. Возможно, все дело в «баговости» PDF-конвертера, который у «Яндекса» свой. Хотя после индексации поиск по файлам этого типа вполне удовлетворительный. Что касается скорости индексации и поиска, то и тут накладка. Субъективно эта софтина работала медленнее Google и Copernic. Чего уж говорить о профессиональных системах вроде dtSearch или SearchInform. Впрочем, «Яндекс» по сути предназначен для домашнего использования, так что этой скорости вполне достаточно.

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

Софтерра: Современная монадология

О командной строке

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

Собственно, сам shell. В простейшем случае оболочка, приняв строку от пользователя, находит в системе соответствующую программу, выполняет ее и выводит результат в виде обычного текста. Примерами для Unix являются bash, csh, tcsh, zsh, psh и т. д. Продвинутые оболочки облегчают ввод данных, предлагая выбор из ограниченного количества вариантов команд и их параметров.

Язык сценариев программной оболочки. Команды, которые пользователь вводит в командной строке, – это не просто названия программ, а прежде всего – управляющие конструкции языка программирования, оболочка же является его интерпретатором. Таким образом, в командной строке можно задать достаточно сложный сценарий (скрипт) с условными операторами, циклами, функциями и т. д.

Композиционная модель системы: большое количество слабо связанных друг с другом простых программ-утилит (awk, sed, grep, sort, …). Объединяя команды в цепочку (pipeline), можно реализовать весьма сложные процессы обработки данных и управления системой.

Клавиатура, с которой он давно сросся.

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

До недавнего времени все это относилось в основном к Unix-системам. Ни для кого не секрет, что, несмотря на наличие некоторой командной строки в Windows, управлять продуктами Microsoft с ее помощью не слишком удобно. Графический интерфейс де-факто является стандартным средством управления в операционных системах Windows, и зачастую функции GUI не имеют аналогов командной строки, даже для серверных продуктов. И наоборот, функционал текстовых утилит не всегда реализован в GUI. Так было до появления проекта под кодовым названием Monad. О нем и пойдет речь в этой статье.

Проверка орфографии

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

C:\ > echo «Mother washes winsodsdsd» > text.txt

C:\ > $wordApp = new-object –com Word.Application

C:\ > get-content (dir *.txt) | foreach { $_.Split(‘ ‘) } | where { !$wordApp.CheckSpelling($_) } | sort -Unique

winsodsdsd

C:\ >

Более подробный код находится на сайте разработчиков Monad. Существует бесконечное множество способов использовать функции продуктов Office в своих программах и тем более скриптах.

Предыстория

Нельзя сказать, что невеселое положение дел на «командном» фронте устраивало Microsoft – на всем протяжении развития Windows предпринимались попытки улучшить ситуацию в этой области (см. табл. 1). Однако имеющиеся недостатки не позволяли командной строке стать полноценным инструментом.

В command.com и его потомке cmd.exe команды не являлись отдельными программами, как в Unix, а были реализованы непосредственно в самой оболочке. Эта особенность, по-видимому, препятствовала расширению функциональности системы. Команды command.com и cmd.exe оставались плохо документированными и бедными по возможностям, тогда как программы-утилиты Unix-систем активно развивались сообществом пользователей. Кроме всего прочего, обе оболочки не соответствовали стандарту POSIX, разработанному для Unix-оболочек. Следовательно, сценарии, написанные для POSIX-оболочек, не могли быть адаптированы под cmd.exe – равно как и опыт администраторов.

Services For Unix (SFU), разработанные еще для Windows NT, предназначались для упрощения задач по интеграции Windows– и Unix-систем. По сути, SFU – это Unix-система, которая запускается под управлением Windows. В ее состав входят ключевые Unix-сервисы, POSIX-совместимые программные оболочки и более трехсот утилит.

Поначалу продукт не был включен в состав операционной системы – его нужно было приобретать отдельно. И хотя сейчас SFU свободно распространяется и даже входит в Windows Server 2003 R2, коммерческое распространение не способствовало ее популярности. Кроме того, чуждая для Windows модель POSIX оказалась плохо совместимой с большинством продуктов, изначально делавшихся для Windows.

Windows Scripting Host (WSH), разработанный для всех версий Windows, предоставляет доступ к управлению системой с использованием сценариев, написанных на Jscript или VBscript. Однако он не был интегрирован с командной строкой. Непрозрачная документация, сложность в изучении и большое количество вирусов, использующих WSH, не позволили технологии получить широкое распространение.

Несмотря на то что в Windows явно ощущается дефицит полнофункционального консольного интерфейса, программный интерфейс управления системой существует давно: это Windows Management Instrumentation (WMI). История Monad начинается в 2000 году, когда Джеффри Сновер (Jeffrey Snover), архитектор продукта, приступил к созданию пользовательского интерфейса командной строки для WMI, названного WMIC. Пользователи Windows XP и Windows Server 2003 могут ознакомиться с ним, набрав в стандартной командной строке «wmic.exe», и получить справку о командах с помощью команды «/?». Интерфейс получился недостаточно стройным, ориентированным прежде всего на функциональные особенности WMI, а не на пользователя. Этот факт еще мог устроить корпорацию Microsoft, чьи продукты поддерживали WMI, но вряд ли обрадовал разработчиков сторонних компаний, не использующих этот интерфейс. Функциональность WMIC расширялась плохо, поскольку реализована была точно так же, как и в cmd.exe. В то же время инструменты управления продуктами Microsoft подвергались критике Главного Архитектора (Билл Гейтс) из-за слабого использования .NET-языков. Было решено переписать WMIC на C#. В определенный момент Сновер понял, что не обязан ограничиваться классами WMI и может использовать в своем продукте любые классы .NET, получая в распоряжение всю мощь платформы.

Был создан прототип интерфейса, а затем сформирована команда проекта Monad.Знакомство

Итак, Monad (она же Microsoft Shell, или MSH) – это будущая платформа для администрирования операционной системы и программных продуктов Microsoft. Cамая важная идея, заложенная в MSH, состоит в том, что в знакомой нам командной строке вывод результатов команды представляет собой не текст (в смысле последовательности байтов), а объект (данные вместе со свойственными им методами). Все! Остальное так или иначе вытекает из этой идеи.

Назад Дальше