Что делать с дублированием?
9 years 6 months ago #224
by zorro
zorro created the topic: Что делать с дублированием?
Добрый день!
Я всё прикрутил, всё замечательно и очень быстро фурычит - респект и уважуха!
Теперь о некрасивостях.
В моей вновь отсканированной библиотеке (~300 000 шт.) вдруг обнаружился полный бардак и некоторые книги дублируется от 2 до 10 раз (о_О)
Действительно вся проблема в том что это разные файлы fb2, с разными именами, датами и тд. НО!
Можно ли сделать так, чтобы в момент сканирования проверялось существование в базе books такого же `annotation` как у вновь добавляемой книги?Фактически Аннотация - единственное поле которое можно тут прицепить для анализа. Ну и соответственно не добавлять её.
Я не силён в питоне, потому пишу вот сюда, надеясь на внимания Дмитрия
Собственно я вот к чему:
# dublicates_find = yes, приводит к поиску дубликатов на основании полей title, format и filesize
# при этом дубликат помещается в базу, но помечается как дубликат и может исключаться из выдачи
# при поиске по наименованиям и по авторам. В случае поиска по каталогам, книги, помеченные как дубликаты все равно будут показывать
dublicates_find = yes
Этого мало
p.s. порылся по форуму и не нашел подобной темы, может плохо искал - ткните плз если есть ответ.
Я всё прикрутил, всё замечательно и очень быстро фурычит - респект и уважуха!
Теперь о некрасивостях.
В моей вновь отсканированной библиотеке (~300 000 шт.) вдруг обнаружился полный бардак и некоторые книги дублируется от 2 до 10 раз (о_О)
Действительно вся проблема в том что это разные файлы fb2, с разными именами, датами и тд. НО!
Можно ли сделать так, чтобы в момент сканирования проверялось существование в базе books такого же `annotation` как у вновь добавляемой книги?Фактически Аннотация - единственное поле которое можно тут прицепить для анализа. Ну и соответственно не добавлять её.
Я не силён в питоне, потому пишу вот сюда, надеясь на внимания Дмитрия

Собственно я вот к чему:
# dublicates_find = yes, приводит к поиску дубликатов на основании полей title, format и filesize
# при этом дубликат помещается в базу, но помечается как дубликат и может исключаться из выдачи
# при поиске по наименованиям и по авторам. В случае поиска по каталогам, книги, помеченные как дубликаты все равно будут показывать
dublicates_find = yes
Этого мало

p.s. порылся по форуму и не нашел подобной темы, может плохо искал - ткните плз если есть ответ.
Please Войти or Create an account to join the conversation.
- zorro
-
Topic Author
- Offline
- Новый участник
-
Less
More
- Posts: 2
9 years 6 months ago #225
by mitshel
mitshel replied the topic: Что делать с дублированием?
# dublicates_find = yes, приводит к поиску дубликатов на основании полей title, format и filesize
Тут идея была в том чтобы исключить 100% дубликат, по сути один и тот-же файл только возможно с разными именами и в разных местах коллекции.
А то что хотите Вы, смысл конечно имеет, но вот лично мне хотелось бы видеть все дубликаты (не 100% конечно), ведь это книги сделанные с разным качеством, в одной могут быть иллюстрации а в другой нет и компьютеру практически невозможно разобраться какой вариант книги лучше.
Но все таки думаю, что-нибудь сделаю в будущем, хотя бы постараюсь сделать алгоритм определения дубликатов настраиваемым, чтобы например вы могли бы включить вместо поля filesize поле annonation для определения дубликата.
Тут идея была в том чтобы исключить 100% дубликат, по сути один и тот-же файл только возможно с разными именами и в разных местах коллекции.
А то что хотите Вы, смысл конечно имеет, но вот лично мне хотелось бы видеть все дубликаты (не 100% конечно), ведь это книги сделанные с разным качеством, в одной могут быть иллюстрации а в другой нет и компьютеру практически невозможно разобраться какой вариант книги лучше.
Но все таки думаю, что-нибудь сделаю в будущем, хотя бы постараюсь сделать алгоритм определения дубликатов настраиваемым, чтобы например вы могли бы включить вместо поля filesize поле annonation для определения дубликата.
Please Войти or Create an account to join the conversation.
- mitshel
-
- Offline
- Администратор
-
Less
More
- Posts: 297
- Karma: 8
9 years 6 months ago #229
by zorro
zorro replied the topic: Что делать с дублированием?
Да, это именно то что я и бы хотел, спасибо

Please Войти or Create an account to join the conversation.
- zorro
-
Topic Author
- Offline
- Новый участник
-
Less
More
- Posts: 2
9 years 5 months ago #256
by Stanislav
Stanislav replied the topic: Что делать с дублированием?
Лет 15 назад я делал для себя сортировку фИДОшных объявлений куплю-продам
Проблема поиска дублей стояла остро. Решалась следующим образом:
4-байтовый (имхо это выше крыши) UniqId объявления формировался из crc16 по Subject + crc16 по тексту, но не по тексту "в лоб", а с рядом хитростей:
- от Subject'а отгрызались стандартные префиксы вроде "Re:"
- в подсчете crc участвовали только буквы и цифры - пробелы, переносы строк, знаки препинания, псевдографика - игнорировались
затем извлеченный символ перекодировался по специальной таблице:
- все буквы переводились в верхний регистр
- одинаковые по начертанию в русском и латинском - E T O P A H K X C B M - приводились к латинскому. Чуть позже добавил У->Y , O->0 З->3 Ё->E и чего-то еще подобное. Собственно, таблицу "эквивалентности" для crc сразу вынес в конфигурационный файл и составлял ее уже в процессе настройки.
Было б очень здорово, если б Вы добавили что-то подобное.

4-байтовый (имхо это выше крыши) UniqId объявления формировался из crc16 по Subject + crc16 по тексту, но не по тексту "в лоб", а с рядом хитростей:
- от Subject'а отгрызались стандартные префиксы вроде "Re:"
- в подсчете crc участвовали только буквы и цифры - пробелы, переносы строк, знаки препинания, псевдографика - игнорировались
затем извлеченный символ перекодировался по специальной таблице:
- все буквы переводились в верхний регистр
- одинаковые по начертанию в русском и латинском - E T O P A H K X C B M - приводились к латинскому. Чуть позже добавил У->Y , O->0 З->3 Ё->E и чего-то еще подобное. Собственно, таблицу "эквивалентности" для crc сразу вынес в конфигурационный файл и составлял ее уже в процессе настройки.
Было б очень здорово, если б Вы добавили что-то подобное.
Please Войти or Create an account to join the conversation.
- Stanislav
-
- Visitor
-
9 years 5 months ago #257
by mitshel
mitshel replied the topic: Что делать с дублированием?
В ближайшее время постараюсь реализовать дополнительные возможности обнаружения дубликатов.
Please Войти or Create an account to join the conversation.
- mitshel
-
- Offline
- Администратор
-
Less
More
- Posts: 297
- Karma: 8
9 years 5 months ago #266
by mitshel
mitshel replied the topic: Что делать с дублированием?
Дополнительные возможности по обработке книг-дубликатов реализованы в версии SimpleOPDS 0.21
Please Войти or Create an account to join the conversation.
- mitshel
-
- Offline
- Администратор
-
Less
More
- Posts: 297
- Karma: 8
Time to create page: 0.145 seconds