Скажем, у вас есть боковая панель справа, где должны отображаться соответствующие продукты.
Пользователь вводит в поиске, а справа отображаются только первые X продуктов (скажем, первые 50товары).Также внизу этого списка будет ссылка «Показать больше товаров».Например, в Twitter используется такой подход.
Даже если доступно 1 миллион продуктов, пользователю не нужно видеть их все одновременно, поэтому сделав запрос Ajax для: а) первых продуктов X иб) общее количество продуктов (так что вы знаете, требуется ли ссылка «Показать больше») идеально.
Когда пользователь нажимает «Показать больше», вы отображаете еще один X продуктов и так далее.