Не в шутку и по-взрослому: база!

Все, чем мы занимались на протяжении четырех месяцев, в той или иной степени являлось подготовкой к серьезной работе: мы собирали материал в Интернете, пользуясь тайными поисковыми порталами типа HighBeam, раскладывали добро по полочкам в удобной программе MyBase, комфортно осваивали информацию в iSilo на любимом наладоннике. Без семи пядей во лбу понятно: все это, конечно, charmant [1], но до Великого алгоритма далеко!

Почему? Да потому, что описанные выше телодвижения, по гамбургскому счету, лишены эвристики. Для тех, у кого предыдущая фраза вызвала сердечную аритмию, перевожу: в нашем Алгоритме до сих пор не было ничего оригинального, отличного от традиционного подхода, когда: нашли ссылку в Интернете, сохранили ее в папку на жестком диске, почитали на досуге, потом другую ссылку — опять сохранили, опять почитали. Конечно, не так удобно, не так красиво, как с MyBase и iSilo, но В ПРИНЦИПЕ — то же самое. Где же тут Путь ГО? Где обещанный неземной прорыв? Ща все будет — у нас не обманывают.

Итак, мы прочитали в авральном порядке все собранные материалы по компании Daewoo (не забыли, что по условиям эксперимента нам приходится действовать в жесточайшем цейтноте: день на сбор информации, два — на ознакомление?). Теперь расстилаем на столе чистый лист бумаги, втыкаем перо в зубы (чтоб грызть кончик в творческом угаре!) и изготавливаемся рожать нетленку. Начинаем писать… и уже через 10 минут происходит то, о чем я предупреждал в самом начале: «И где там родился Ким Ву Чун? В каком городе? А как назывался университет, куда Ким поступил? Ах да, обо всем этом он рассказывал в одной из своих автобиографических книг… в какой же, черт побери?»

Как видите, наше самое узкое место — в отсутствии информационной базы данных, которая бы позволила быстро ориентироваться во всем массиве материалов. Ориентироваться — значит мгновенно находить нужный контекст, по-другому: осуществлять поиск по ключевым словам. На умном языке это называется «индексируемой базой данных».

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

Компьютерная индексируемая база данных по своим возможностям превосходит книжный алфавитный указатель раз так в… миллион! Может, в два миллиона. Вот лишь тройка причин, лежащих на поверхности:

  • поиск информации в компьютерной базе осуществляется не по ограниченному числу дефиниций (как в алфавитном книжном указателе), а по любому слову или выражению, какие только встречаются в первоисточниках;
  • поиск информации в компьютерной базе данных возможен по логическим операторам («И», «ИЛИ»), интервалу слов (например: найти слова «Daewoo» и «автомобили» лишь в тех местах, где они отделены, скажем, только 3 словами), шаблонам («*», «?», например: поиск «машин*» позволит отыскать все места первоисточников, где встречаются «машины», «машина», «машинист», «машинный» и т. п.);
  • с помощью соответствующих программ любой пользователь может собственноручно создать исчерпывающую базу данных за считанные минуты (иногда — секунды).

Что ж, полагаю, пора приступить к неземному прорыву. В Великом алгоритме ГО он носит имя CROS — разработки российской компании «Кронос-Информ», которая с 1992 года корпит над созданием state-of-the-art [2] документальных систем поиска информации.

Я вот все думал: что бы такое сказать про CROS, чтобы с места в карьер завоевать восхищение читателя и сэкономить тем самым на лишних обоснованиях своего выбора? Остановился на таком факте: базу данных, которую самый быстрый конкурент CROS индексирует за 12 часов (можете представить объем этой базы данных!), CROS осиливает за… 16 минут! Как ему это удается? Без понятия! В голову лезут какие-то спиритические глупости, типа такой вот фразы, позаимствованной с сайта разработчика: «Основная часть сотрудников «Кронос-Информ» — это бывшие работники ФСБ (КГБ СССР)». Неужели в этом собака порыта?

Как бы там ни было, но CROS создает феноменально компактные базы данных (мера сжатия: 3–4 раза относительно первоисточников), которые индексирует с феноменальной скоростью. Именно то, что нам нужно.

Теперь, уже по традиции, подхватим наш Великий алгоритм творчества в том месте, где мы его оставили в прошлой колонке.

1. Мы извлекли документы нашего проекта из MyBase в отдельную директорию, а затем конвертировали их в формат iSilo для чтения на КПК. Надеюсь, вы директорию сохранили, потому что теперь мы используем те же самые документы для составления индексной базы в CROS [3]. Запускаем программу, нажимаем на иконку «Список банков» (рис. 1, п. 1), кнопка «Новый» (рис. 1, п. 2), вписываем Имя банка документов (рис. 1, п. 3), нажимаем на «Создать» (рис. 1, п. 4).

[[wysiwyg_imageupload:401:]]

2. После этого попадаем в основное окно CROS, которое… совершенно пустое! Добро пожаловать в мир профессиональных компьютерных программ, чье главное отличие — воинственная недружественность интерфейса! Ну да — справимся (на досуге почитайте документацию: она на русском языке, доходчива и очень подробна). Нажимаем на кнопку «Добавление документов» (рис. 2, п. 1), кнопка «Выбор» (для указания директории, в которой находятся документы, предназначенные для внесения в базу данных) (рис. 2, п. 2).  В следующем окне находим папку, в которую мы экспортировали файлы из MyBase, выделяем ее и жмем «ОК» (рис. 2, п. 3), кнопка «Дальше» (рис. 2, п. 4).

[[wysiwyg_imageupload:402:]]

3. Указываем правила обработки документов, добавляемых в банк (=базу) данных: ставим галочку на «Включая подкаталоги» (рис. 3, п. 1), задаем маску типов файлов, которые попадут в нашу базу (*.doc;*.txt;*.htm;*.html — означает, что мы хотим индексировать все документы с расширением doc, txt, htm и html, оставляя тем самым за кадром рисунки, которые нам не понадобятся для поставленной конкретной задачи) (рис. 3, п. 2), продолжаем работу — «Дальше» (рис. 3, п. 3).

[[wysiwyg_imageupload:403:]]

4. Придумываем название для Области Поиска и нажимаем на кнопку «Сохранить» (рис. 4).

[[wysiwyg_imageupload:404:]]

5. В следующем окне, которое определяет дополнительные условия для добавления документов, оставляем все как есть, по умолчанию (все галочки отключены), и жмем на «Готово» (рис. 5).

[[wysiwyg_imageupload:405:]]

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

[[wysiwyg_imageupload:406:]]

Как такое возможно? Дык я ж сказал уже: ума не приложу! Жмем на «ОК» и опять попадаем в главное окно программы, которое по-прежнему девственно пусто. Где же наша база? Индекс? Как им пользоваться? Обо всем — в следующей колонке!


[1] Миленько, славненько (франц.).

[2] Уровень произведения искусства, полное совершенство (англ.).

[3] Демонстрационная версия доступна на сайте. В принципе она пригодна для более или менее сносной работы (можно создать только один банк данных, содержащий не более 5 000 документов), но поверьте на слово: если вы планируете заплатить хоть раз в жизни за какую-нибудь компьютерную программу, то ничего полезнее CROS мне в жизни не попадалось. Цена хоть и кусается (4 248 рублей), но оправдывает себя на 200% и окупается сторицей. За свои слова отвечаю, потому как давно снискал себе «славу» Первого Апологета Бакунианского (=пиратского) Софта на страницах российской прессы.

Впервые опубликовано в журнале «Домашний компьютер».