У MODX есть один компонент фасетного поиска – mFilter2. Но на больших каталогах (от 10 000 товаров) mFilter2 работает очень медленно. Загрузка страницы и фильтрация могут занимать 6–10 секунд, даже с кэшем. Современные поисковые системы используют специальные базы данных – ElasticSearch, Sphinx и другие. На сервисе FacetSearch.ru развернут OpenSearch (fork ElasticSearch). Компонент FacetSeach для MODX загружает данные в базу OpenSearch и выводит на сайты с MODX форму фасетного поиска, фильтрующую товары и ресурсы с помощью запросов в сервис.



FacetSearch фильтрует большые каталоги за 0,6-0,9 секунды.

Тестирование
На сайте с 30 000 товаров:
0.0027862: FacetSearch start
0.0023050: start search
0.1594729: end search
0.0162010: end element
0.0000160: start get_filters_aggs
0.4164310: end get_filters_aggs
0.6430540: Total time
8 388 608: Memory usage

На сайте с 50 000 товаров:
0.0031459: FacetSearch start
0.0060859: start search
0.1748130: end search
0.0526061: end element
0.0000288: start get_filters_aggs
0.4727890: end get_filters_aggs
0.7630110: Total time
10 485 760: Memory usage

На сайте с 100 000 товаров:
0.0025170: FacetSearch start
0.0034320: start search
0.2796969: end search
0.0380912: end element
0.0000370: start get_filters_aggs
0.4061460: end get_filters_aggs
0.7809291: Total time
23 068 672: Memory usage
Регистрация и справка
Регистрация Справка

Планы
Основная проблема из-зи которой пришлось делать этот сервис, медленная работа mFilter2 на больших каталогах. Эта цель успешно достигнута. В будующем планируется сделать полнотекстовый поиск с исправлением опечаток, раскладки и транслитерации.
Заменить слайдер и сделать мобильную верстку. И другие доработки.
07 декабря 2022, 06:33    Александр Туниеков Компоненты 0    2 0

Комментарии ()

    Вы должны авторизоваться, чтобы оставлять комментарии.

    Вы можете авторизоваться на сайте через:
    YandexGoogle