vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner
Попробовал тут разгрести описанным в предыдущем посте скриптом архив либрусэка завалявшийся с 2009 года.

Получилось - из менее чем 200000 книг 2176 попросту not well-formed XML. В основном от того что народ использует знаки больше-меньше (даже не сдвоенные) в вместо кавычек-елочек, а какие-то распространенные тулзы генерации FB2 это не отслеживают и не заменяют встретившийся в тексте зна < на соответствующий entity. Аналогичные проблемы возникают с амперсэндами.

Ну и плюс к тому куча пробелов, неразрывных пробелов, кавычек, скобочек в полях "имя автора". В принципе можно скрипт пофиксить, чтобы все символы, не участвующие в сортировке по библиографическим правилам, резал.

Но вообще, конечно, все это добро нуждается в вычитки и чистке от артефактов сканирования и распознавания. Поэтому я и держу настолько маленькую библиотеку, что в ней мне все-таки не лень слазить и руками исправить ошибки в XML и метаданных.

А то и пройтись по всему тексту и правильно оформить тэгами разбиение на главы.

Date: 2017-01-22 07:11 pm (UTC)
brmail: (Default)
From: [personal profile] brmail
ну если речь по прежнему о файлохранилище либрусека, то он оно решает кучу проблем. Во первых библиотека хранится в архиве, а не набором файлов. сейчас это порядка 100 архивов, более 170 гиг. Если их распаковать получится реальная куча файлов 2 миллиона, может больше, занимающая кучу места на диске. А когда речь идет на такие цифры, то для нормального поиска это все надо индексировать и класть в sql базу.
Файловая система неплоха когда файлов тысячи. А поиск по паре миллионов - увольте.

Date: 2017-01-22 08:55 pm (UTC)
brmail: (Default)
From: [personal profile] brmail
бедненький сценарий поиска вы предложили. В реальности будет так: "помнится была книжка из серии фантастика или научная фантастика. Автора не помню. Вроде в названии было что-то про звезды. Как бы мне ее найти?" Все, у тебя после этого перебор 2-х миллионов файлов навсегда. И никакая иерархия твою файловую систему не спасет. И никакие гигабайты памяти. Собственно к памяти этот процесс поиска вообще не имеет отношения. Так как тормозить будет процесс перебора файлов, открытия их и чтения тегов из каждого.
Альтернатива одна - Строим индексы, кладем их в базу разница в скорости поиска будет не в разы, в десятки, если не сотни раз.
А как оно там хранится в самих архивах в принципе вообще все равно. По хорошему можно вообще все тексты в базу загнать чтобы дать пользователю и по тексту искать, но это уже напряг для базы - полнотекстовый поиск. Хотя все равно будет быстрее чем открывать пофайлово

Date: 2017-01-22 09:41 pm (UTC)
From: [personal profile] anonim_legion
>напряг для базы - полнотекстовый поиск

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

Date: 2017-01-23 07:16 am (UTC)
brmail: (Default)
From: [personal profile] brmail
нет, естественно оправдание собственному желанию продолжать трахаться и трахаться с открытым кодом доводя тупиковую идею до совершенства, а потом прикручивая к нему базу, так как все равно без нее работать не будет ... Не нужны никому стандартные средства работы, универсальные api и прочие базвордс. Пользователю нужна база от либрусека на 170+ Gb, готовый каталогизатор, и возможность скачать через год не новые 170 и все что набежало за год, а только добавку и индекс. И плевать пользователю что там ssl не свежая. И то что программа не обновляется часто - так же плевать ибо работает. Ну а тому кому шашечки, а не ехать - те велком в мир тех самых открытых стандартов итд по списку

Date: 2017-01-23 10:31 am (UTC)
From: [identity profile] tzirechnoy [lj.rossia.org]
>напряг для базы - полнотекстовый поиск.

Если это один человек со средним современным десктопом наперевес и пол-тэрабайта текстов -- то не сказать чтобы и напряг.

Date: 2017-01-23 07:43 am (UTC)
From: [personal profile] legolegs
>нескольких тысяч вариантов, но современные файловые системы с таким вполне справляются.

Они и с миллионами файлов в директории справляются. Только гуёвые файловые менеджеры плохо работают и ls тормозит. Конечно, это всё не про fat.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

June 2025

S M T W T F S
1 23 4 56 7
89 1011 12 13 14
1516 17 18 192021
22232425262728
2930     

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 24th, 2025 12:59 am
Powered by Dreamwidth Studios