Если же вы все-таки осилите процедуру настройки и установки (или заплатите бригаде быстрого реагирования Google), то поймете, что сложность установки с лихвой компенсируется гибкими настройками при использовании в корпоративных сетях. Немаловажным моментом является использование групповых политик, что дает возможность установить настройки для каждого пользователя.
Copernic Desktop SearchРазработчик: Copernic
Официальный сайт: www.copernic.com
Цена: бесплатно
Размер дистрибутива: 2,56 Мбайт
В интерфейсе программы нет ничего лишнего, с ней разберется даже неискушенный пользователь. При первом запуске программа предлагает создать индексы. Необычным показалось то, что после выбора папок для индексирования Copernic не предлагает нажать какую-нибудь кнопку вроде «Начать индексацию», при этом индексация не начинается автоматически — утилита ждет простоя компьютера. Придется покопаться в опциях, чтобы настроить все должным образом. Отметим широкие возможности настройки автоматического создания индекса: встроенный планировщик, возможность индексации в фоновом режиме с низким приоритетом и т. д.
Изначально 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 по удобству, простоте и стабильности, так и с серьезными программами по числу поддерживаемых форматов и функциональности.
Софтерра: Современная монадология
Автор: Сергей Поляков [email protected]
В те давние времена, когда перфосчитка перестала быть основным устройством ввода информации, а ее место заняла клавиатура, когда появились первые мониторы, а о «манипуляторе мышь» никто и слыхом не слыхивал, командная строка стала главным инструментом взаимодействия человека и компьютера. Шли годы, менялись процессоры, операционные системы и пользовательские интерфейсы. Командная строка, иначе называемая программной оболочкой (shell), тоже не пребывала в анабиозе, а развивалась и эволюционировала, и для серверных Unix-систем она по сей день остается самым естественным способом управления.
О командной строкеОпытный администратор 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, состоит в том, что в знакомой нам командной строке вывод результатов команды представляет собой не текст (в смысле последовательности байтов), а объект (данные вместе со свойственными им методами). Все! Остальное так или иначе вытекает из этой идеи.
Вот главные цели, преследуемые разработчиками Monad:
командная строка как основной интерфейс администрирования;
реализация ObjectFlow (элементом обмена информации является объект);
переработка существующих команд, утилит и оболочки;
интеграция командной строки, COM— и .NET-объектов;
работа с произвольными источниками данных в командной строке по принципу файловой системы.
По словам разработчиков, сильное влияние на Monad оказали следующие продукты:
BASH, KSH — композиционность;
AS400/VMS — стандарт синтаксиса именования команд, облегчающий изучение;
TCL/WSH — поддержка встраиваемости и нескольких языков;
PERL, PYTHON — выразительность и стиль.
Участники команды оценили разные аспекты администрирования систем и попытались собрать все лучшее в одном продукте.
Маэстро, музыку!В качестве примера я написал плагин, который позволяет управлять воспроизведением музыки в Monad (полный код можно найти в [4]). Ниже приведена реализация команды play-nextsong на языке C#, которая переключает воспроизведение на следующую композицию:
[Cmdlet(«play», «nextsong»)]
public class PlayNextSongCommand : Cmdlet
protected override void EndProcessing()
Media.Player.controls.next();
Этого достаточно чтобы пользователь смог найти команду и узнать, как с ней работать:
Media:\Slayer\Reign In Blood> get-command play*