Задачка на комбинаторику и программирование
Есть внешнее ПО, база данного ПО напрямую недоступна. Доступ к базе возможен только через API. Но есть небольшая беда - API отдаёт не более 1000 записей (до кучи еще страничным выводом по 20 записей). Обойти сие невозможно также. Упорядочивание объектов из доступных полей API выявить не удаётся. Новые объекты получаются в произвольной позиции списка.
Доступна фильтрация данных, но только по наименованию, причём фильтр работает по логике WHERE `name` LIKE '%filter%'. Общее число объектов на данный момент около 20 тысяч.
Собственно, опытная проверка показала, что "брутфорсом в 2 символа" (ну то есть последовательно задавая фильтрацию "аа", "аб", "ав", "аг" и т.д.) вроде получается выдрать всю базу, но получается каждый раз 1089 запросов с возвратом от 0 до 400+ записей. И как-то это некрасиво. Беда состоит в том, что мне надо подбирать этот справочник из этого ПО.
Вопрос: есть ли у кого какие мысли как оптимизировать сей брутфорс?
Жизнь коротка. Потерпи немножко.
Бог один. Просто протоколы доступа разные...