На форуме неоднократно раздавались возгласы сожаления, что, вот много литературы можно в сети скачать, а как с ней эффективно работать – ХЗ. В данной теме я опишу устройство своей библиотеки. Те, кому понравится – инструкция по созданию прилагается. Кому не понравится – сделайте лучше.
Итак, ч. 1. Краткое описание библиотеки.
На сегодняшний день в моем распоряжении находится около 15000 томов книг (включая серии) и около 500 журнальных подшивок. При этом доступ к информации во всех источниках осуществляется мгновенно. Такая маленькая университетская библиотека в кармане, вместе со
Есть два основных режима пользования библиотекой:
1. В браузере открывается корневой каталог с линками на рубрикаторы, по которым можно перемещаться пока не увидим собственно обложки книг в конкретном рубрикаторе. Открывается книга щелчком по обложке. Этот режим максимально приближает пользование оффлайновой библиотекой: бродим вдоль полок, в размышлении чего-бы почитать. Через браузер доступно около 7000 книг (серии и журналы исключены, т.к. в здравом уме никто не будет просматривать Methods of Enzymology, например). Вот как выглядит один из рубрикаторов в браузере:

2. Режим поиска. Используем поисковую систему Archivarius 3000 чтобы найти файлы с конкретной информацией во всех возможных источниках. Найденные файлы также открываются щелчком мыши из архивариуса:

Ч. 2. Как сделать?
Поскольку объемы информации большие (вся библиотека весит около 2.5 Tb), крайне рекомендуется наличие следующих хардварных фичей:
Под USB 3: 2 порта на компе, основной внешний диск на 3 Tb, 2 портативных внешних диска на 1.5-2 Tb для лэптопа и бэкапа.
SSD: для ОС и БД Архивариуса. Вся БД весит около 110 Gb, соответственно диск должен быть от 256 Gb.
Необходимый софт:
1. Jalbum (http://jalbum.net/en) для создания фотоальбомов. Может запускаться с командной строки, потому и выбран.
2. Утилиты ‘find ‘ и ‘gawk’ из Cygwin (http://www.cygwin.com)
3. Far manager (http://www.farmanager.com) для всех файловых манипуляций. Не обязателен. Можно обойтись и проводником, если Ваша жизнь бесконечна.
4. Archivarius 3000 (http://www.likasoft.com). Поисковая система, детально описана Голубицким в Компьютерре (http://old.computerra.ru/2005/614/239241). Повторяться не буду, только подтверждаю, что если жаба не очень давит, то лучше купить (всего 30 евров за персональную лицензию). Если давит, то можно и скачать сами знаете где.
5. ABBYY Fine Reader последней версии для распознавания текста (в т. ч. пакетного).
6. Adobe Acrobat полный (не Reader) для манипуляций с pdf.
7. Windjview (http://windjview.sourceforge.net/) для просмотра djvu.
Для создания библиотеки в браузере:
Допускаемые файлы только pdf, djvu, doc. Имя файла роли не играет, т.к. книга будет искаться по обложке или через Архивариус, но следующие условия должны быть соблюдены:
Имя должно быть как можно короче, с использованием только латинского алфавита, без пробелов (по возможности) и без спецзначков (‘, +, &…) Jalbum иногда рушится без объяснения причин на сложных именах, поэтому такие ограничения.
К каждой книге должен быть сделан файл обложки jpg (~400Х600 пикселей достаточно), но с двойным расширением (например kaltashov.pdf.jpg; channels_excitable_membranes.djvu.jpg; 052181524x.doc.jpg). Если изначально книга была без обложки, то ее можно взять на Амазоне или сдизайнить самому. Главное – чтобы название было видно на браузерной иконке. Смысл двойного расширения объясним позже.
Разумеется, текст должен быть распознан если Вы хотите, чтобы содержимое книги находилось поисковиком.
Далее, определяемся с корневым каталогом всей библиотеки, например
M:\Library
Сейчас я опишу, как организованы подкаталоги у меня, но Вы можете использовать другую схему. Итак, в корне имеются следующие подкаталоги:
\HTML_CHM_EPUB – для только очень нужных книг, по чьему-то недомыслию конвертированных в эти ублюдочные форматы. В браузерную библиотеку не входят.
\JOURNALS – для подшивок журналов
\SCI_BOOKS – для книг в браузерной библиотеке
\SERIES – Да, да. Для серий.
Теперь нас интересует директория SCI_BOOKS. Она содержит корни рубрикаторов. В моем случае это:
REFERENCE
SCI_BIOL
SCI_CHEM
SCI_GEO
SCI_HUMAN
SCI_MATH
SCI_PHYS
SCI_TECH
а также служебную папку ALBUM, в которой jalbum создаст альбом-прообраз браузерного интерфейса библиотеки.
В папке M:\Library\SCI_BOOKS\ALBUM\AWK лежит самая мякотка:
runme.bat – когда все настроено и работает, запуск одного этого файла позволяет апдейтить библиотеку (в браузере появятся новые книги и исчезнут удаленные)
album.jap – файл с настройками альбома для jalbum (главное – какие папки включать в альбом, где будет лежать альбом, и общий дизайн альбома). Сохраняется из jalbum’а при интерактивном запуске. Вы должны его сделать сами при первом запуске jalbum и при первом создании альбома.
prepab.awk – заготовка (stub) awk, которая будет использована в runme.bat
------------------здесь файл runme.bat – подкорректируйте директории по вкусу--------
D:\WIN\JALBUM\jalbum.exe -projectFile album.jap
C:\CYGWIN\BIN\find.exe M:\LIBRARY\SCI_BOOKS\ALBUM\ -name index.html -print | gawk -f prepab.awk > album.bat
album.bat
------------------конец runme.bat---------------------------------------
------------------здесь файл prepab.awk – используйте как есть---------------------
begin
{sub(/index.html/,"");print "cd " $0}
{print "copy index.html idx.html"}
{print "gawk '{sub(\/.djvu.jpg\\\">\/,\".djvu\\\">\");print }' idx.html > index.html"}
{print "gawk '{sub(\/.pdf.jpg\\\">\/,\".pdf\\\">\");print }' index.html > idx.html"}
{print "gawk '{sub(\/.doc.jpg\\\">\/,\".doc\\\">\");print }' idx.html > index.html"}
{print "del idx.html"}
end
------------------конец prepab.awk ---------------------------------------
При запуске runme.bat сначала обновляет альбом с помощью jalbum, а затем он должен поменять ссылки на оригинальные jpg-файлы так, чтобы они вели на книгу. Для этого и нужны двойные расширения у обложек. Если в ссылках оторвать .jpg у двойного расширения – получится ссылка на книгу.
В корнях рубрикаторов создаются вложенные папки-подрубрикаторы, куда уже и складываются книги вместе с файлами обложек. Для примера, вот начало моего подрубрикатора SCI_BOOKS\SCI_CHEM:

Итак, вкратце, последовательность действий при первом создании браузерной библиотеки:
1. Раскладываем книги вместе с файлами обложек в папки подрубрикаторов.
2. Запускаем jalbum в интерактивном режиме. Выбираем директории, для которых создавать альбом; директорию, куда писать сам альбом (\SCI_BOOKS\ALBUM), и дизайн альбома. Запускаем процесс и оцениваем результат. Если в браузере воспроизводится желаемая структура библиотеки и все остальное устраивает – сохраняем проект в album.jap (далее он будет использоваться только в командном режиме).
3. Запускаем runme.bat для перенаправления ссылок в альбоме на файлы книг.
Для использования поиска по библиотеке ее нужно проиндексировать в Архивариусе. По-видимому, размер одного индекса не ограничен, однако размер словаря ограничен 1.5 Gb. Поэтому, если Ваши интересы очень разнообразны, или много текста распознано некачественно, то одним индексом ограничиться не удастся. Это, с одной стороны, бывает удобно если надо искать только в сериях или только в журналах и т.д. С другой стороны, Архивариус позволяет искать в нескольких или всех индексах сразу, так что такое ограничение не является критичным.
Важное примечание: БД Архивариуса лучше создавать на SSD диске для увеличения скорости поиска.
Ну вот и все. В принципе, sapienti sat. Вопросы будут – пишите на форум, не в личку.