Библиотекарь.Net и всё что с ним связанно

Программы, утилиты

Библиотекарь.Net и всё что с ним связанно

Сообщение Gremlin2 » Ср янв 27, 2010 1:16

Предлагаю дальнейшее обсуждение .NET версии Библиотекаря продолжать в этой теме.

И для затравки представляю на суд общественности свой скромный вклад в дело каталогизации и каталогизаторов. Вклад представляет собой плагин для импорта книг в Библиотекарь. Как я уже и предупреждал, не стоит сравнивать его с сканером из старого Библиотекаря, он работает по другому. И рассматривать стоит его именно с этой позиции. Плагин, по большей части, основан на движке fb2fix'a с полностью отрубленным модулем коррекции, но в дальнейшем планируется введение его в работу. Основное отличие от Библиотекаря заключается в поддержке многофайловых архивов и в алгоритме поиска дубликатов. На сегодняшний день поддерживается только ZIP формат, в дальнейшем возможно введение поддержки других. Пожалуйста! Не используйте плагин в режиме хранения "Index Only", это связано с особым форматом имени файла, который используется новым индексатором в этом случае.

Plugin доступен по адресу http://www.mediafire.com/?mzyyjlma1mw, для установки достаточно развернуть архив в папку с Библиотекарем. При этом также важно обновить файлы в папке Others (Tanone прости :)). Это необходимо для нормального функционирования плагина. Если всё сделано правильно, то при запуске программы в меню "Библиотека" должен появится новый пункт "Добавить книгу...". Начинайте тестирование с небольшого набора тестовых данных, не надо сразу пытаться запихнуть 25-30 тысяч книг за раз :), я не сомневаюсь в том, что программа с этим справится, просто запущенный процесс импорта пока невозможно остановить :oops:

И последнее предупреждение: Не тестируйте на живой базе данных, делайте backup.

С Уважением Gremlin2
Аватар пользователя
Gremlin2
Зрелый участник форума
Зрелый участник форума
 
Сообщений: 150
Зарегистрирован: Вс апр 06, 2008 15:51
Откуда: Altenstadt, Germany

Re: Библиотекарь.Net и всё что с ним связанно

Сообщение Stepochka » Ср янв 27, 2010 11:54

Спасибо! С почином!
Что то с полем "дата файла" в сканере, у меня для всех обработанных файлов в полях формы и в списке отображается "02.01.000"
так выглядит
Код: выделить все
    <Book Status="Added">
      <BookId>2924</BookId>
      <Filename>file:///D:/_sdn_lib/Автор Неизвестен - Сон в Нефритовом павильоне.fb2</Filename>
      <OriginalFileName>Автор Неизвестен - Сон в Нефритовом павильоне.fb2</OriginalFileName>
      <FileDate>0001-01-02T10:45:58.0738</FileDate>
      <FileSize>1867577</FileSize>
    </Book>
Stepochka
Зрелый участник форума
Зрелый участник форума
 
Сообщений: 358
Зарегистрирован: Чт авг 11, 2005 11:35
Откуда: Москва

Re: Библиотекарь.Net и всё что с ним связанно

Сообщение Stepochka » Ср янв 27, 2010 12:27

ошибка добавления книги:
Код: выделить все
    <Book Status="DatabaseError">
      <BookId xsi:nil="true" />
      <Filename>file:///D:/_sdn_lib/Автор Неизвестен - Аспазия.fb2</Filename>
      <OriginalFileName>Автор Неизвестен - Аспазия.fb2</OriginalFileName>
      <FileDate>0001-01-02T10:45:58.0666</FileDate>
      <FileSize>944924</FileSize>
      <ErrorText>arithmetic exception, numeric overflow, or string truncation</ErrorText>
    </Book>
Что не нравится?
Приведу пожалуй дискрипшн:
Код: выделить все
  <description>
    <title-info>
      <genre>prose_history</genre>
      <author>
        <first-name />
        <last-name>Автор Неизвестен</last-name>
      </author>
      <book-title>Аспазия</book-title>
      <annotation>
        <p>Доподлинно не известны ни дата ее рождения, ни смерти. В истории она осталась как одна из самых умных и блистательных гетер. Свою карьеру на этом поприще начала в Милете, на родине сказочных мифов и куртизанок. Ее отец-философ по имени Аксиох, увидев, какой красотой наделили боги его дочь, решил, что такая красавица не может составить счастье одному человеку, ее удел — доставлять удовольствие всему человечеству. Поэтому и дал ей солидное образование, соответствующее ее великому, по его мнению, предназначению в этом мире.</p>
        <p>Если верить поэтам, в детстве Аспазию (или Аспасию) похитили и увезли в Мегару или Коринф. Здесь она росла в качестве невольницы своих похитителей, постаравшихся развратить ее. Привлекательная и умная девушка сумела очаровать богатого афинянина, который выкупил ее, и она оказалась на свободе.</p>
        <p>По другим сведениям, Аспазия до прибытия в Афины никуда не выезжала из Милета, где вела жизнь куртизанки. Но легкие интрижки вскоре надоели — сердце жаждало настоящей (и желательно великой!) любви. В поисках таковой Аспазия перебралась в Афины, неофициальную столицу Эллады. Денег к этому времени она скопила достаточно, поэтому с несколькими подругами купила дом и организовала школу риторики. Многие исследователи настаивают на том, что это был обычный публичный дом — правда, высшего класса, где Аспазия преподавала девушкам историю, философию, политику, а также искусство любви.</p>
        <p>«Каждая женщина, — вещала гетера, — должна быть свободной в выборе мужа, а не выходить за назначенного ей родителями или опекунами; муж обязан воспитать свою жену и разрешать ей высказывать свои мысли».</p>
        <p>Вскоре «школа» Аспазии стала едва ли не самым популярным местом в Афинах. Пообщаться с красивой и неординарной женщиной, с ее умными прелестницами приходили знаменитые философы: Зенон, Протагор. Врач Гиппократ и гениальный ваятель Фидий сделались завсегдатаями в доме этой гетеры. В Афинах заговорили о том, что в прекрасном теле женщины поселилась мудрая душа Пифагора. Сократ, юноша с пылкой душой, влюбился в Аспазию и не отходил от нее ни на шаг, а позднее, когда стал известным философом, подчеркивал, что обязан этим Аспазии.</p>
        <p>Наслушавшись восторженных отзывов друга Сократа, на куртизанку-философа решил взглянуть и правитель города Перикл.</p>
        <p>Наверное, это была любовь с первого взгляда… Ему исполнилось сорок — возраст опытного воина. Он обладал силой, своеобразной мужской привлекательностью и пользовался славой лучшего правителя в истории Афин. Аспазия была прекрасна, как пристало подруге правителя, и умна — как положено советнику вождя… Ее салон переместился в дом Перикла. Сам же стратег незадолго перед этим (по другим сведениям, только встретившись с Аспазией) развелся со своей женой и, заботясь о ее будущем, дал ей приданое и вновь выдал замуж, оставив при себе сыновей.</p>
        <p>Впервые в истории античной Греции философы и политики выслушивали советы женщины и следовали им. Более того: правитель допустил свою любовницу к принятию политических решений, она составляла речи для его выступлений в народном собрании и сопровождала любимого даже в военных походах. Современники и потомки, как отмечают многие исследователи, неоднозначно оценивали такое «ненормальное» положение дел. Так, поэт Кратинус был уверен: «Распутство создало для Перикла Юнону — Аспасию, его защитницу с глазами собаки». А некоторые историки вообще склонны считать, что гетера и приехала в Афины с единственной целью — покорить Перикла, этого «достойнейшего из эллинов», о котором она столько слышала…</p>
        <p>Закон Афин не допускал брака с чужестранкой. И ребенка гетеры, родившегося через пять лет после начала их связи, долгое время считали незаконнорожденным… Только когда оба старших сына Перикла погибли от чумы, ребенок наложницы был признан наследником.</p>
        <p>Аспазия быстро добилась уважения, достойного жены правителя, сохранив при этом свободу, какой могли пользоваться лишь гетеры. Она не чуралась застолий, сама их организовывала, являясь душой и центром увеселений… Более того, позволяла себе принимать посетителей и в отсутствие мужа, развлекала их беседой, угощала вином, что, по афинским обычаям, являлось совсем уж недопустимым.</p>
        <p>Многие утверждали, что милетская гетера превратила жилище правителя в дом разврата. На философских пирах непременно присутствовали красивые девушки для вполне определенных целей. Что касается военных походов, в которых верная подруга сопровождала своего супруга и благодетеля, то она делала это не в одиночку: за ней непременно следовал обоз куртизанок из ее школы, и женщины неплохо зарабатывали, ублажая изголодавшихся без любви мужчин.</p>
        <p>В конце концов народное собрание обвинило подругу Перикла в сводничестве и развращении юных девушек. Аспазия предстала перед судом. Неизвестно, чем бы все закончилось, если бы защитником не выступил сам Перикл. Великий правитель плакал! «Он бы не пролил столько слез, если бы речь шла о его собственной жизни», — не без иронии подметил Эсхил. Слезы отважного полководца и государственного мужа настолько поразили судей, что те согласились признать невиновность гетеры. Но несмотря на это в появлявшейся череде бесконечных комедийных пьес ее продолжали высмеивать как распутную и продажную женщину.</p>
        <p>После суда Аспазия смирилась с традиционной для благочестивых матрон ролью супруги-затворницы. Возможно, наедине с Периклом она продолжала обсуждать государственные вопросы и даже давала правителю советы, но шумные философские пиры в их доме больше не устраивались. История же донесла до наших дней такой факт. Когда Сократа полушутливо-полусерьезно спрашивали, как воспитать хорошую жену, он без тени сомнения отвечал: «Об этом гораздо лучше расскажет Аспазия!» Как всякая примерная супруга, она прощала мужу минутные слабости, после которых он все равно возвращался к ней — великой искуснице по части разжигания любовных страстей.</p>
        <p>«Каким великим искусством или силой она обладала, если подчинила себе занимавших первое место государственных деятелей и даже философы много говорили о ней как о женщине незаурядной, — писал Плутарх. — Тем не менее очевидно, что привязанность Перикла к Аспазии была основана скорее на страстной любви. Говорят, что при уходе из дома и при возвращении с площади он ежедневно приветствовал ее и целовал».</p>
        <p>Перикл и Аспазия прожили вместе двадцать лет. А потом на Афины с Востока обрушилась страшная эпидемия, которая скосила множество афинян. Не обошла она и дом Перикла. Ушла из жизни его сестра, умерли оба сына от первого брака. Потом наступила очередь самого правителя…</p>
        <p>После смерти супруга Аспазия незамедлительно вышла замуж — вернее, перешла на содержание к некому торговцу скотом, бывшему когда-то ее учеником, Лизиклу, решив своими руками сделать из него великую личность. Благодаря ее педагогическим стараниям недавний скототорговец превратился в прекрасного оратора, снискавшего повсеместную популярность в Афинах. Через год его уже избрали стратегом, а еще через несколько месяцев он погиб в одном из сражений…</p>
        <p>Пережила Аспазия и смерть еще одного стратега — Перикла-младшего, собственного сына, одержавшего победу над спартанцами в морской битве при Аргинусских островах. Но, увы, неблагодарные сограждане казнили его в числе других стратегов только за то, что не все трупы погибших в этом сражении афинян были выловлены из бушующих волн и погребены в земле.</p>
        <p>Говорят, вскоре после этого и его мать отошла в мир иной…</p>
      </annotation>
      <coverpage>
        <image l:href="#image109.png" />
      </coverpage>
      <lang>ru</lang>
    </title-info>
    <document-info>
      <author>
        <first-name>Алексей</first-name>
        <last-name>Н.</last-name>
      </author>
      <program-used>LibRusEc kit, Fiction Book Designer, FB Editor v2.0</program-used>
      <date value="2007-06-11">2007-06-11</date>
      <id>SDN-8B3B2170-987F-475E-B91B-C55EB7D95FAB</id>
      <version>1.12</version>
    </document-info>
    <publish-info>
      <book-name>Аспазия</book-name>
    </publish-info>
    <custom-info info-type="fb2fix-status">Passed</custom-info>
  </description>
Stepochka
Зрелый участник форума
Зрелый участник форума
 
Сообщений: 358
Зарегистрирован: Чт авг 11, 2005 11:35
Откуда: Москва

Re: Библиотекарь.Net и всё что с ним связанно

Сообщение Stepochka » Ср янв 27, 2010 12:45

Расскажите про алгоритм определения дубликатов, что то у меня шибко много файлов свалилось в "Дубликат: ID отличается"
Например
Абдуллаев Чингиз Акифович - Альтернатива для грешников
Абдуллаев Чингиз Акифович - Альтернатива для дураков
Stepochka
Зрелый участник форума
Зрелый участник форума
 
Сообщений: 358
Зарегистрирован: Чт авг 11, 2005 11:35
Откуда: Москва

Re: Библиотекарь.Net и всё что с ним связанно

Сообщение Gremlin2 » Ср янв 27, 2010 14:07

Stepochka писал(а):Спасибо! С почином!
Что то с полем "дата файла" в сканере, у меня для всех обработанных файлов в полях формы и в списке отображается "02.01.000"

:oops: это Vfs так шутит, попробуйте обновить vfs.dll в папке Others вот этим: http://www.mediafire.com/?yzzncnyeemb

Stepochka писал(а):ошибка добавления книги:
Код: выделить все
    <Book Status="DatabaseError">
      <BookId xsi:nil="true" />
      <Filename>file:///D:/_sdn_lib/Автор Неизвестен - Аспазия.fb2</Filename>
      <OriginalFileName>Автор Неизвестен - Аспазия.fb2</OriginalFileName>
      <FileDate>0001-01-02T10:45:58.0666</FileDate>
      <FileSize>944924</FileSize>
      <ErrorText>arithmetic exception, numeric overflow, or string truncation</ErrorText>
    </Book>
Что не нравится?
Приведу пожалуй дискрипшн:
...


А вот тут всё гораздо сложнее, в данном конкретном случае аннотация этой книги длинной 7301 символа, а база данных позволяет записать из них только 4096. Как правило подобные ошибки добавления возникают в результате несоответствия модели данных ДБ и реальным положением дел.

А по поводу поиска дубликатов, программа кроме полного сопоставления использует также алгоритм Дамерау — Левенштейна для определения "похожести" названий книг у одного и того же автора. Все книги у которых названия "похожи" более чем на 70% считаются программой дубликатами. Кроме того, поиск выполняется также у синонимов и у авторов с "похожими" именами.
Аватар пользователя
Gremlin2
Зрелый участник форума
Зрелый участник форума
 
Сообщений: 150
Зарегистрирован: Вс апр 06, 2008 15:51
Откуда: Altenstadt, Germany

Re: Библиотекарь.Net и всё что с ним связанно

Сообщение Stepochka » Ср янв 27, 2010 14:53

Gremlin2 писал(а):это Vfs так шутит, попробуйте обновить vfs.dll
помогло
Gremlin2 писал(а):А вот тут всё гораздо сложнее, в данном конкретном случае аннотация этой книги длинной 7301 символа, а база данных позволяет записать из них только 4096. Как правило подобные ошибки добавления возникают в результате несоответствия модели данных ДБ и реальным положением дел.
А как оно в дельфёвом сканере пролазит? Режется?
Ошибки при сканировании буду выкладывать.
Stepochka
Зрелый участник форума
Зрелый участник форума
 
Сообщений: 358
Зарегистрирован: Чт авг 11, 2005 11:35
Откуда: Москва

Re: Библиотекарь.Net и всё что с ним связанно

Сообщение Stepochka » Ср янв 27, 2010 15:22

Как то странно работают групповые операции в сканере.. например, Создать новый документ наряду со старым: обрабатывается только половина выделенных записей 1из2, 2из4, 3из6 и тд
Stepochka
Зрелый участник форума
Зрелый участник форума
 
Сообщений: 358
Зарегистрирован: Чт авг 11, 2005 11:35
Откуда: Москва

Re: Библиотекарь.Net и всё что с ним связанно

Сообщение Gremlin2 » Ср янв 27, 2010 15:53

Stepochka писал(а):Как то странно работают групповые операции в сканере.. например, Создать новый документ наряду со старым: обрабатывается только половина выделенных записей 1из2, 2из4, 3из6 и тд

Чудеса, я знаю кто виноват и что делать, я потом исправлю. :stena:
Аватар пользователя
Gremlin2
Зрелый участник форума
Зрелый участник форума
 
Сообщений: 150
Зарегистрирован: Вс апр 06, 2008 15:51
Откуда: Altenstadt, Germany

Re: Библиотекарь.Net и всё что с ним связанно

Сообщение Stepochka » Ср янв 27, 2010 16:17

Гут.
Зарядил я ему всё что есть, что то около 100 тыс. О результатах напишу.. до завтра наверное закончит
Stepochka
Зрелый участник форума
Зрелый участник форума
 
Сообщений: 358
Зарегистрирован: Чт авг 11, 2005 11:35
Откуда: Москва

Re: Библиотекарь.Net и всё что с ним связанно

Сообщение Gremlin2 » Ср янв 27, 2010 16:37

Stepochka писал(а):Гут.
Зарядил я ему всё что есть, что то около 100 тыс. О результатах напишу..

Очень смелый поступок :), очень интересно что из этого получится...

Stepochka писал(а):до завтра наверное закончит

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

Успехов, и с нетерпением ждем результатов :)
Аватар пользователя
Gremlin2
Зрелый участник форума
Зрелый участник форума
 
Сообщений: 150
Зарегистрирован: Вс апр 06, 2008 15:51
Откуда: Altenstadt, Germany

Re: Библиотекарь.Net и всё что с ним связанно

Сообщение moran » Чт янв 28, 2010 6:22

Что делать с этой ошибкой?
Словарь полностью обновлен, ошибка появляется через каждые 3-5 секунд поиска синонимов, нажимаю "Ок", 3-5 сек и ошибка...
Вложения
error.JPG
error.JPG (41.45 ) Просмотров: 959
Аватар пользователя
moran
Новенький участник форума
Новенький участник форума
 
Сообщений: 56
Зарегистрирован: Вт янв 19, 2010 11:42
Откуда: Новосибирск

Re: Библиотекарь.Net и всё что с ним связанно

Сообщение Tanone » Чт янв 28, 2010 7:01

moran писал(а):Что делать с этой ошибкой?
Словарь полностью обновлен, ошибка появляется через каждые 3-5 секунд поиска синонимов, нажимаю "Ок", 3-5 сек и ошибка...


У вас по какой то причине не произошло связывание основной БД с БД поиска. То есть идентификатор основной БД не совпадает с её описанием в БД поиска. Попробуйте заменить БД поиск на пустую и снова провести обновление словарей. Если во время обновления есть ошибки они пишутся в файл "update_log.txt" который появится рядом с экзешником.

Да вот ещё попробуйте просто нечётким поиском воспользоваться. теоретически он должен выдавать ту же ошибку, но мало ли что.

Вот тут новая библиотека поиска http://dl.dropbox.com/u/2530199/Tanone. ... Search.dll
Она больше информации в лог пишет. Если будут ошибки в логе пришлите.
Tanone
Зрелый участник форума
Зрелый участник форума
 
Сообщений: 169
Зарегистрирован: Ср окт 18, 2006 6:30

Re: Библиотекарь.Net и всё что с ним связанно

Сообщение Stepochka » Чт янв 28, 2010 8:07

К утру мы не закончили... Скорость добавления после 75 тыс упала до 0.5-2 книги в секунду. Ещё 26 тыс осталось.. попробую дождаться
Stepochka
Зрелый участник форума
Зрелый участник форума
 
Сообщений: 358
Зарегистрирован: Чт авг 11, 2005 11:35
Откуда: Москва

Re: Библиотекарь.Net и всё что с ним связанно

Сообщение Tanone » Чт янв 28, 2010 8:19

А сколько памяти откушал?
Tanone
Зрелый участник форума
Зрелый участник форума
 
Сообщений: 169
Зарегистрирован: Ср окт 18, 2006 6:30

Re: Библиотекарь.Net и всё что с ним связанно

Сообщение moran » Чт янв 28, 2010 8:25

Tanone писал(а):Попробуйте заменить БД поиск на пустую и снова провести обновление словарей. Если во время обновления есть ошибки они пишутся в файл "update_log.txt" который появится рядом с экзешником.


блин опять зарежать обновление, так для справки, если обновлять базу поиска книг, то это занимает несколько дней, а если только авторов то около 12 часов, в базе 27к авторов и 118к книг... ладно попробую только с базой авторов...

а в "update_log.txt" только одна строка "Фраза :17  конвой Слово :17 "
Аватар пользователя
moran
Новенький участник форума
Новенький участник форума
 
Сообщений: 56
Зарегистрирован: Вт янв 19, 2010 11:42
Откуда: Новосибирск

След.

Вернуться в Сделано для FB

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1