и твой пример с 20 тыщами товаров (а т.е. и страниц) он тоже фиговый. для 20 тыщ товаров у тебя ядро будет примерно в 10 раз больше, т.е. 200 тыщ запросов, т.к. на каждый твоар по 5-10 запросов да наберется.
потом ты это все запускаешь в кластеризатор, и на выходе поулчаешь не 20 тыщ красивых групп, а 150 тыщ кластеров, ну в лучшем случае 50 тыщ будет, из них два кластера здоровенных, остальные могут быть по 2-3 запроса. Потом тебе это все надо распределить на 20 тыщ страниц а еще попутно создать гурппы запросов под новые страницы, которых нет.