Разведка под задачу «нужны миллионы»: постраничные API дают 1-2 статьи в секунду и упираются в rate limit, а OpenAlex-дамп содержит только метаданные — миллионы аннотаций бесполезны, что уже доказано на КиберЛенинке (30 отпечатков на документ, 0 глубоко проиндексированных). Найден и проверен рабочий источник: AWS Open Data бакет pmc-oa-opendata открыт без ключа, у каждой статьи лежит готовый извлечённый текст (33-130 КБ) и json с метаданными. Замер: 12 статей/с в 10 потоков — миллион за сутки. Замеры узких мест на проде (для планирования масштаба): - winnowing 95 док/с на ядро — не ограничение; - поиск L1 31 мс по 500 отпечаткам при 113 млн строк; - вставка отпечатков построчно 6.7 тыс. строк/с → миллион статей это 2.5 млрд строк и четверо суток только на запись, поэтому в скрипте COPY; - объём: 106 байт на строку → ~400 ГБ на миллион статей с индексами. Скрипт НЕ закончен: документы вставляются верно, но шаг отпечатков ошибочно пропускает свежие документы (пробные 200 записей удалены из базы). Ограничение задокументировано прямо в скрипте, чтобы его не запустили на объёме. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
9.7 KiB
Executable File
9.7 KiB
Executable File