LibRusLib
Вторник, 19.03.2024, 07:08
Приветствую Вас Гость | RSS
 
Главная ФорумРегистрацияВход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Unilib » Проектирование и разработка » Обсуждение проекта (Обсуждение проекта)
Обсуждение проекта
drserjДата: Понедельник, 31.10.2016, 21:26 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Unilib - программа для создания локальных библиотек.

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

Особенности Unilib-а:

1) Поддержка нескольких библиотек.
2) Импорт/экспорт личных данных.
3) Возможность обмена данными с другими библиотеками Unilib.

Ориентировочная структура БД

Структура модуля импорта
 
drserjДата: Четверг, 27.04.2017, 17:12 | Сообщение # 166
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата 1_абрам ()
Не понял что означает "откидывать файл еще на момент сканирования по мд5".

значит, что при сканировании каталога находим файл и до обработки считаем мд5. Сравниваем с наличием в базе и если есть - в обработку не пускаем.

Цитата 1_абрам ()
Ты не ответил на вопрос

я отвечал несколько ранее - сколько надо - столько будет.

Цитата 1_абрам ()
В этом случае нет проблемы со скоростью отбора книжек - и  можно использовать отбор по мд5.

Ты не поверишь, но найти мд5 в индексированном поле значительно быстрее, чем распарсить книгу... Так что в данном случае - пофиг сколько записей в базе.


drSerj
 
drserjДата: Четверг, 27.04.2017, 17:13 | Сообщение # 167
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата 1_абрам ()
Другими словами, поддерживаются несколько  форматов хранения, а не только %Z?

угу... а что, есть варианты?


drSerj
 
PFNДата: Пятница, 28.04.2017, 00:29 | Сообщение # 168
Генерал-майор
Группа: Друзья
Сообщений: 206
Репутация: 0
Статус: Offline
Цитата drserj ()
Какой механизм и на каком этапе лучше использовать?

Конечно, проверка по МД5 еще до начала обработки.
Эти файлы можно сразу удалять, чтобы не занимали место на диске. Правда, для особо мнительных можно перемещать их в каталог "Дубликаты".
Кто хочет пусть проверяет и потом удаляет их сам. smile

Теперь нужно подумать, как избавиться от дублей с несовпадающим МД5... Что-то еще можно попробовать вычистить по "Имени автора", "Названию" и "Размеру"...
А дальше - только вручную... каждый пользователь индивидуально...
Одним словом, как сказал классик: "Спасение утопающих - дело рук самих утопающих..." smile


===============================
Приказ, который может быть понят неправильно, обязательно будет понят неправильно


Сообщение отредактировал PFN - Пятница, 28.04.2017, 00:31
 
drserjДата: Пятница, 28.04.2017, 08:10 | Сообщение # 169
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата PFN ()
Что-то еще можно попробовать вычистить по "Имени автора", "Названию" и "Размеру"


это не реально по одной простой причине - целостность может быть разная, может быть разное издание и т д, вплоть до языка. С учетом того, что информация в фб2 может быть не полная или не достоверная, а для не фб2 вообще отсутствовать - не думаю, что автоматика это сможет обработать. Как вариант - оставить настройку на откуп пользователю, даже две: "Добавлять возможные дубликаты (не МД5)" и "Принудительно добавлять дубликаты МД5". Всякое бывает. Вот только с термином "возможные дубликаты" - надо определиться, по каким критериям определять, когда, в какой момент (ибо тут фб2 парсить нужно или только название/размер) ну а для не фб2 (без фбд) вообще ничего не нужно - инфы ноль. На название вообще не хочется опираться.


drSerj
 
PFNДата: Пятница, 28.04.2017, 12:10 | Сообщение # 170
Генерал-майор
Группа: Друзья
Сообщений: 206
Репутация: 0
Статус: Offline
Цитата drserj ()
это не реально по одной простой причине - целостность может быть разная, может быть разное издание и т д, вплоть до языка. С учетом того, что информация в фб2 может быть не полная или не достоверная, а для не фб2 вообще отсутствовать - не думаю, что автоматика это сможет обработать.

Кое-что автоматика все-таки может обработать... Например, такие программы, как Everything или Duplicate Cleaner находят похожие файлы и даже могут их разбить по группам. А дальше уже только сам пользователь решает: удалять или оставить.

Цитата drserj ()
Вот только с термином "возможные дубликаты" - надо определиться, по каким критериям определять

Здесь бесконечное и бескрайное море возможностей... просто песня!!! :)))
Смотрим самые ходовые варианты:
1. При равном размере, названии и авторе не совпадает МД5.
2. Разное написание ФИО автора (с отчеством или без, е/ё, Герберт/Херберт и т.п.).
3. Разное написание названия или серии.
4. Книга выпускалась под другим названием... и т.д. и т.п.

Но хотя бы чуточку уменьшить это "зло" просто необходимо...

Цитата drserj ()
На название вообще не хочется опираться.

Без него никак не обойтись, т.к. это один из основных критериев идентификации книги.


===============================
Приказ, который может быть понят неправильно, обязательно будет понят неправильно
 
drserjДата: Пятница, 28.04.2017, 12:24 | Сообщение # 171
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата PFN ()
Например, такие программы, как Everything или Duplicate Cleaner


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

Цитата PFN ()
Здесь бесконечное и бескрайное море возможностей... просто песня!!! :)))


И кто мне напоет мотивчик? smile

Цитата PFN ()
Но хотя бы чуточку уменьшить это "зло" просто необходимо...


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

Цитата PFN ()
Без него никак не обойтись, т.к. это один из основных критериев идентификации книги.


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


drSerj
 
1_абрамДата: Пятница, 28.04.2017, 15:49 | Сообщение # 172
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Цитата drserj ()
при сканировании каталога находим файл и до обработки считаем мд5. Сравниваем с наличием в базе и если есть - в обработку не пускаем.


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

Добавлено (28.04.2017, 13:00)
---------------------------------------------
Цитата drserj ()
угу... а что, есть варианты?


Действительно, нашел на второй странице:

"Итак, резюмируем: 2 формата- %Z и имя с полным путём. "

Надо бы принятые решения отмечать в шапке што ли?

Добавлено (28.04.2017, 13:11)
---------------------------------------------
Цитата drserj ()
я отвечал несколько ранее - сколько надо - столько будет.


А я плохо предствляю себе локальную библиотеку  в 500 тыс.  книжек  (как флибуста или генезис).  Трудно поддерживать БД (править библ. информацию,  да сама база может рухнуть, замучаешься потом восстанавливать ).   Такие библиотеки лучше делать коллективно.  Унилиб мне видится небольшой библиотекой тысяч 10 книжек  - подборки книг по определенной тематики и книги, которые нельзя разместить на коллективном ресурсе.  Для такого количества модуль импорта книжек может быть попроще.

Добавлено (28.04.2017, 13:49)
---------------------------------------------
А посмотри как устроена библиографическая информация в Ленинской библиотеке:

http://search.rsl.ru/ru/search#q=%D0%94%D1%80%D0%B8%D0%B4%D0%B7%D0%BE

Там для  каждой книги есть карточка, описание и Marc21.  Есть возможность скачать описание.  М.б.  эту информацию можно как-то использовать для заполнения и редактирования библиографической информации о книге.  Легче всего импортировать из Marc21.


Сообщение отредактировал 1_абрам - Пятница, 28.04.2017, 15:50
 
drserjДата: Пятница, 28.04.2017, 15:51 | Сообщение # 173
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата 1_абрам ()
Но ты вроде бы писал, что предусмотревается импорт данных из архива содержащего только (без контента) фбд.


ткни носом где я такое писал?

Цитата 1_абрам ()
Надо бы принятые решения отмечать в шапке што ли?


нетути шапки...

Цитата 1_абрам ()
А я плохо предствляю себе локальную библиотеку  в 500 тыс.  книжек


а я - очень даже, она у меня есть smile

Цитата 1_абрам ()
Такие библиотеки лучше делать коллективно.


а я тупо импортирую данные из флибусты себе smile

Цитата 1_абрам ()
Унилиб мне видится небольшой библиотекой тысяч 10 книжек  - подборки книг по определенной тематики и книги, которые нельзя разместить на коллективном ресурсе.  Для такого количества модуль импорта книжек может быть попроще.


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


drSerj
 
PFNДата: Пятница, 28.04.2017, 17:44 | Сообщение # 174
Генерал-майор
Группа: Друзья
Сообщений: 206
Репутация: 0
Статус: Offline
Цитата drserj ()
да и с книгами они вряд ли будут работать...

У меня работают и очень даже хорошо помогают вычищать дубликаты, которые не попались на МД5... smile

Цитата drserj ()
И кто мне напоет мотивчик?

Ну-у-у... тут у каждого своя партитура... smile

Цитата drserj ()
Хотелось бы конкретики с четкой постановкой задачи....

Я постараюсь подумать и сформулировать четче свое видение проблемы.

Цитата drserj ()
Как можно сканируя разношерстную массу книг, где названия - от номера до тупого набора символов определить полезную информацию?

 Для ФБ2 придется вытягивать "<author><first-name>АААА</first-name><middle-name>ББББ</middle-name><last-name>ГГГГ</last-name></author>
<book-title>РРРРРР</book-title>"

Другого варианта я не вижу...


===============================
Приказ, который может быть понят неправильно, обязательно будет понят неправильно
 
1_абрамДата: Пятница, 28.04.2017, 18:11 | Сообщение # 175
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Цитата drserj ()
кни носом где я такое писал


Хотелось бы также предусмотреть экспорт из фбд.

уже...

стр. 11. - не поняли бы друг друга, наверно.
 
drserjДата: Пятница, 28.04.2017, 21:23 | Сообщение # 176
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата PFN ()
Ну-у-у... тут у каждого своя партитура...

Ну уж нет, начали напевать - пойте уж до конца smile

Цитата PFN ()
 Для ФБ2 придется вытягивать

разговор шел об имени файла а не о содержимом

Цитата 1_абрам ()
Хотелось бы также предусмотреть экспорт из фбд.


Естественно, при наличии основного файла... Иначе, действительно, зачем? Хотя....


drSerj
 
1_абрамДата: Пятница, 28.04.2017, 21:52 | Сообщение # 177
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Цитата drserj ()
Т.е. как говорил мой бывший шеф - минимально достаточным smile
Отлично сказано.
 
drserjДата: Пятница, 28.04.2017, 22:37 | Сообщение # 178
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата 1_абрам ()
Отлично сказано.

угу... обычно я стараюсь всё по максимуму делать smile

Кста, там на либрус в теме я правленную длл-ку к либрусу скинул. Реально, чуть лоханулся, а оно в какой-то момент вылезло, но что странно - не у всех... У меня везде пахало нормально. Но лучше всё-таки заменить...


drSerj
 
PFNДата: Суббота, 29.04.2017, 00:35 | Сообщение # 179
Генерал-майор
Группа: Друзья
Сообщений: 206
Репутация: 0
Статус: Offline
Цитата drserj ()
разговор шел об имени файла а не о содержимом

Так, цифровые имена файлов из архивов Флибусты или др. ничем не помогут...
В том-то и вся соль, что только ФИО автора + Название книги позволяют максимально освободиться от дублей.
Выход мне видится только один:
Осуществлять поиск дублей уже в самой базе и при нахождении таковых:
- удалять запись из базы;
- удалять соответствующий файл с диска.


===============================
Приказ, который может быть понят неправильно, обязательно будет понят неправильно
 
1_абрамДата: Суббота, 29.04.2017, 14:40 | Сообщение # 180
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Цитата drserj ()
Естественно, при наличии основного файла... Иначе, действительно, зачем? Хотя....


Так программа все равно не гарантирует,  что если есть запись в БД, то есть и книга.  Пользователь всегда может удалить книгу из хранилища,  не используя программу. Поэтому я предложил сделать возможным экспорт данных из фбд (когда книга отсутствует). Цель (например) - создание подборки еще не оцифрованных книг.

Добавлено (29.04.2017, 12:40)
---------------------------------------------

Цитата drserj ()
а я тупо импортирую данные из флибусты себе


Каким образом?
 
Форум » Unilib » Проектирование и разработка » Обсуждение проекта (Обсуждение проекта)
Поиск:

Copyright LibRusLib © 2024