В Elasticsearch не хранятся все свойства товаров, а только системные, без которых не обойтись, а также свойства с пометкой «Умный фильтр», для вывода в фильтре. В свою очередь в фильтре отображаются не все свойства, а только те, которые есть у текущих товаров в разделе. Это сделано при помощи агрегаций — аналога группировок в MySQL. Например, мы хотим знать, какие цвета есть у товаров в разделе? Механизм агрегаций выдает нам эти данные, и далее мы выводим их в фильтре.
Был удивлён увидеть такую техническую статью тут. А почему один инстанс используете , если это критичный участок? На самом деле кластер из коробки работает, правда для продакшена потребуется 2 сервера с оперативной памятью не менее 8gb. И парни, без обид - но то, что вы описали - это не высокие нагрузки. Высокие нагрузки, когда сотни тысяч в секунду соединений и десятки миллионов в сутки. Простите занудство :) Кстати, про elastic - там главное понять 2 вещи: то, что он работает поверх lucene , и маппинг. В остальном предлагаю не вводить в заблуждение людей. Это поисковый движок, с ним нельзя постоянно работать как с реляционной базой данных: создавать и удалять индексы, а также перезаписывать данные в привычной манере. Все ответы лежат в области lucene. Время поиска тоже настраивается, это у них по умолчанию стоит 30 сек. А так, он хорош! Вы тоже молодцы, что не боитесь тяжёлых задач. Успехов
Александр, эти вещи нам понятны. Такая схема работает больше года, проблем никаких не замечено. Высокие нагрузки - понятие относительное. Высокая нагрузка может быть и на маленьком проекте, когда не хватает ресурсов простого сервачка. На этом проекте это немалые нагрузки, да и буквально на днях мы побили этот "рекорд". Раскрыть все цифры я к сожалению не могу, но если смотреть в разрезе до/после, сайт стал намного "выносливее", по сравнению с жизнью "до".
Мы в своё время сделали то же самое для Mascotte. Разница в том, что мы выгружали все свойства товаров в ES, а это позволяет делать интересные вещи, как, например, подборку похожих товаров с разным весом для разных совпадающих параметров.
Что касается количества инстансов — сейчас уже многие облачные провайдеры предоставляют ElasticSearch в облаке — AWS, например. Но это скорее вопрос географии.
Перепутали, Хабр в другой закладке?
А в целом крутаны и молодцы.
Если кратко то: не используйте битрикс для больших сайтов (более 10к страниц) да?
Не совсем так. Все зависит от конкретного проекта и конкретных задач. При создании магазинов мы используем битрикс. С большинством задач он справляется хорошо и имеет как плюсы, так и минусы. На сложных проектах нам приходится разрабатывать кастомные решения. На проектах попроще - более менее стандартный функционал. Ответ на ваш вопрос - нет, используйте битрикс, но не стоит упираться в его ограничения и минусы :)