Первый прогон на проде выдал документы 2008-2019 годов, хотя запрос просил `yearPublished:2026`. Проверка показала: условия в запросе CORE через `AND` не связываются. По отдельности каждое фильтрует честно (`yearPublished:2026` — ровно 2026, `repositories.id:1298` — ровно этот архив), а вместе `(архивы) AND yearPublished:2026` отдаёт 2.3 млн работ вперемешку, то есть условия объединяются по «или», и год работает лишь подсказкой ранжированию. Значит нарезка по годам не нарезала ничего: каждый «год» перебирал один и тот же набор, а в выдачу подмешивались посторонние работы нужного года — включая англоязычные, ради ухода от которых источник и заводился. Теперь в запросе ровно одно условие — номер архива, и каждый архив опрашивается отдельно. Позиция продолжения стала «архив:смещение». Это ещё и честнее по потолку: `offset` упирается в 100 000, а самый крупный из наших архивов содержит 63 749 работ, то есть влезает целиком. Годы, если заданы в источнике, отсекаются теперь на нашей стороне. Список архивов парсер принимает и простым списком номеров, и прежним выражением `(repositories.id:N OR ...)` — настройку источника менять не нужно. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
15 KiB
15 KiB