Поисковый API КиберЛенинки отдаёт поле "ocr" — список OCR-фрагментов текста статьи (начало + фрагмент с ключевыми словами), прямо в ответе search. Раньше transform() игнорировал его (full_text всегда None), и Winnowing-отпечатки (L1) считались только по короткой annotation (~150 симв.) либо не считались вовсе, если аннотации не было. Теперь ocr (список) склеивается, чистится (<b>/сущности) и идёт в full_text — add_document уже умеет: `text = full_text or abstract`. Даёт заметно более точные L1-отпечатки для ВСЕХ будущих CyberLeninka-документов бесплатно — 0 доп. HTTP- запросов, работает и там, где annotation вообще пустая (проверено вживую). 2 новых теста (ocr→full_text, отсутствие ocr→None). Тестов в файле: 7. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
9.7 KiB
9.7 KiB