немного обидно.
есть битрикс. Есть инфоблок содержащий 2000+секций 90000+ товаров 1300 различных характеристик.
Единственный красивый (но не применимый на практике ) способ получить хоть-какую нибудь производительность и в админке и в виджете каталог (не увеличивая дурь сервера) - разделить товары на разные инфоблоки.
На первый взгляд количество данных одинаково , что в одном инфоблоке данные лежат, что в нескольких. и даже таблицы бд одни и те же. но небольшое различие есть. Битрикс предлагает создать "фасетный индекс" - отдельную служебную таблицу в которую пишутся и индексируются все свойства по которым может быть выполнен поиск. и с ним поиск работает реально быстро.
а теперь почему этот фокус крайне сложно применить на практике. Виджет bitrix:catalog не допускает указания нескольких инфоблоков в свойствах. (что-то из вызываемых потрохов модуля iblock начинает орать про то, что нельзя в каталоге использовать несколько инфоблоков одновременно )
Можно только создать несколько страниц, на каждой из которых разместить виджет ссылающийся на свой инфоблок. Дальше настроить чпу так чтобы все выглядело красиво... и казалось бы вот он выход из положения. И даже меню можно с минимумом мата привести к красивому виду.
Но увы есть одна крайне важная фича, которая не работает так как должна. И имя ей "Поиск по каталогу". Она в отличии от поиска по сайту работает только с одним инфоблоком. и массив ей указать нельзя. И более того: сам оригинальный виджет "поиск по каталогу" только готовит параметры и вызывает виджет "каталог секция".
обидно что не хватает знаний чтобы сделать нехорошее : список элементов инфоблока полученных из поиска по сайту чуть профильтровать и отдать в шаблон виджета каталог секция