Александр Туниеков

Александр Туниеков

С нами с 19 декабря 2015; Место в рейтинге пользователей: #15
Александр Туниеков
22 декабря 2022, 07:35
0
У меня на поддержке осталось несколько магазинов, например:
1) 96000 товаров и 12 фильтров
2) 9000 и 55 фильтров (индексы в мускуле для msProductData уже закончились) :-)
modhost на максимальном тарифе, проблем нет, всё и всегда нормально работает, каких-то заметных задержек в фильтрах нет. Все свойства реализованы расширением msProductData.
Ну я вот на производительных серверах не тестировал. Интересно насколько влияет проиводительность сервера.
Вообще говоря для каталогов с больше 1500 товаров по умолчанию отключается suggestions и скорость значительно выше. Но фильтр значительно не удобнее.
Александр Туниеков
21 декабря 2022, 17:54
+3
Чудесные тут методы пишут :-). Проблема не в том чтобы отфильтровать по какому-то определенному значению. С этим и mysql легко справляется. Вопрос как получить список значений по каким можно фильтровать? И как получить кол-во ресурсов для этих значений? И как получить кол-во ресурсов для этих значений если какое-то значение уже выбрано
Александр Туниеков
19 декабря 2022, 15:45
0
Ок. Правда не понятно как кеширование на методы влияет. Вызов расширяемых методов mse2FiltersHandler никак не затрагивается. аничего другого не расширяется.
Александр Туниеков
19 декабря 2022, 15:18
0
Хм… Обратиться в личку я как-то не подумал. Доработаете кеширование? https://modx.pro/development/23310
Я провел много времени пытаясь ускорить mFilter2 и за это хотелось бы денег. Но сейчас уже все равно могу и просто подарить наработку.
Александр Туниеков
19 декабря 2022, 15:12
0
Сейчас я отреагировал ровно на одну фразу, что «нельзя оскорблять mFilter2, поэтому не знаю что писать про FacetSearch» — это как-то провокационно получилось.
Можно одну поправочку. mFilter2 я в описании на модсторе не оскорблял. Просто написал что на больших сайтах тормозит. Мне написали что негативное сравнении не допустимо.
Вот и все.
Александр Туниеков
17 декабря 2022, 00:14
+1
Извиняюсь, что выразился тупняки. mFilter2 замечательный компонент. Для своего времени и для небольших сайтов. Честно говоря я думаю вы гениальный програмист. Некоторые решения восхищают. Но проходит время и бывает, что необходимо что-то новое.
mFilter2 в больших каталогах тормозит. Когда я делал FacetSearch я хотел в первую очередь преодалеть эту проблему. И во вторую очередь сделать что-то чтоб приносило доход. Вот и получился сторонний сервис.
Вы правы что сторонний сервис это не очень хорошо. Но elasticsearch требует 30гб диска и это не дешево. Сторонний сервис который использует куча сайтов будет дешевле. Единственно, что сейчас сервис использует только 1 сайт и я пока в проигреше по деньгам и загинаю цену.
В некотором обозримом времени, месяца 2-3, сделаю FacetSearchPro и если не хотят зависеть от стороннего сервиса, то можно будет поднять свой сервер с elasticsearch. Просто пока времени не хватает сделать.
Кстати как оказалось Sprinx дешевле содержать и я тут думаю не сделать ли компонент поиска, без сервиса, со Sprinx. Но как всегда это дело времени. Через месяца 3-4 может и появиться и этот компонент.
Александр Туниеков
15 декабря 2022, 16:21
0
Качайте пока тут https://gettables.ru/assets/packages/facetsearch-1.1.15-beta.transport.zip

На модсторе компонент почти прошел модерацию, но есть одно замечание. в магазине не допутимы негативные отзывы о других компонентах. А я как делал facetsearch, потому что достали тупняки с mfilter2, так и написал в сравнении с ним. Теперь уже 3 дня сижу думаю что в описании компонента писать :-(.
Александр Туниеков
09 декабря 2022, 14:13
0
В elastic делаешь json-запрос и индекс создается. По Sphinx информация устаревшая в основном. По справке мантикоры индекс можно на лету создать. Без перезагрузки сервера. Подумаю насчет того чтобы подтянуть мантикоры и Sphinx в компонент, но это уже после нового года. Я пока не разобрался в Sphinx с фасетами.
Александр Туниеков
08 декабря 2022, 15:14
0
Заинтересовал faceted-search, расскажите пожалуйста в общем как оно, трудно натягивать на модх(msearch) и сервак?
faceted-search, грубо говоря, предоставляет только api для работы с индексом и поиском. Если так выразиться бекенд. А форму фасетного поиска, индексацию и запросы к faceted-search (фронтенд) нужно писать. Для опытного програмиста минимум неделю.
Александр Туниеков
08 декабря 2022, 15:05
+1
Пока это не полная замена mSearch2. Полнотекстовый поиск еще не сделал. Где-то к февралю сделаю и будет полная замена.
Если да, то js чистый или все ещё jquery?
все ещё jquery. я чистый js недолюбливаю.
Будет ли поддержка Modx3?
Ну на MODX3 должен встать. Хотя не тестировал. Сейчас большинство компонентов идут на MODX3. Проблемы насколько понимаю начнуться на MODX3.2, когда обещают старую подгрузку классов отрубить.
Вообще поддержка MODX3 планируется, но сперва я хотел бы дождаться minishop3.
Будет ли работать фильтр с обычными ресурсами, не товары минишоп?
Да работает.
Александр Туниеков
08 декабря 2022, 14:56
+2
мне elasticSearch как-то запал и я на его форке и делал. Sphinx потом рассматривал, но сервис на нем проблематично сделать. Индексы прописываются в конфигах и чтоб добавить новый индекс надо перезапускать сервер. И для фасетов мало документации в инете. На Sphinx думаю только локальное решение стоит делать. Это когда Sphinx клиент сам ставит или у хостера берет. У бегет есть Sphinx.
Александр Туниеков
08 декабря 2022, 14:49
0
Пока подал заявку на 90р стоимость компонента. Тут для меня в приоритете стоимость для клиентов, а не что модсторе получит. Если для модсторе это проблема, то можно решить как-нибудь.
Александр Туниеков
08 декабря 2022, 14:39
0
Сдеделаете убьете мой сервис. Но так хоть движуха будет :-) а то mSearch устарел давно :-)
Александр Туниеков
08 декабря 2022, 14:36
0
Сайт мой а у меня реквизитов, оферт нет.
С теперешней воблой гарантий доступа с любой точки мира нет. А сам сервер находиться на бегет и там с доступом вроде пока нормально было.
Не видел этого решения. Буду знать.
Так вроде круглосуточная поддержка не требуетя. Сервер как настроил так и работать будет. И настройки клиентов как настроил так и работает.
Александр Туниеков
07 декабря 2022, 18:29
+2
В этой категории: Всего результатов: 48205.
Вывод на страницу 0.8503351: Total time.
Выбрана 1 опция 0.8963568: Total time
плюс вторая 0.8500841: Total time
В фильтре 12 опций. 390 значений чекбоксов. 30 значений в селекте. 1 слайдер по цене.
Ресурсов в индексе 114471.

В отличии от mFilter2 от размера конкретной категории скорость не зависит. Не знаю по каким алгоритмам OpenSearch фильтрует, но он фильрует весь индекс(всю базу). Ему для фильтрации надо примерно 0,19с и 0,4 для агрегации(suggestions в mFilter2).
И большой каталог это сколько товаров? 100к или 1мл?
Большой имелось в виду от 10к. Для mFilter2 уже тяжелый каталог. Тестировал максимум на 100к. Эти 100к сделал дублированием товаров с 20к. Судя по тому, что при 50к и при 100к скорость не значительно отличается, то 1мл может и потянет.
Хотелось бы и при 1мл протестировать, но дублировать, тем алгоритмом что есть, до 1мл это часов 60-100. 30к дублировал 5ч. Новый ресурс создовал через процессор. Надо бы через SQL дублировать, но продукт в минишоп это 2 таблицы и не понятно как у них одинаковые id сохранить при дублировании.
Александр Туниеков
30 ноября 2022, 07:32
0
Использование jquery большая часть разработчиков считает излишним в 2022. Код давно пишут на чистом JS.
Я как раз пишу на jquery. На чистом js писать могу научиться, но код на js растягивается Меня добивает что на jquery можно написать
$(".nav-img").css('width', 33);

а на чистом надо целых 4 строки
var vNavimg = document.getElementsByClassName("nav-img");
for(var i=0;i<vNavimg.length;i++){
    vNavimg[i].style.height = "33px";
}
Для использования цифрового слайдера и авто подсказок используется jquery UI. Это лишняя устаревшая зависимость. Есть плагины, которые реализуют подобное качественнее. Кроме того слайдер не работает на телефонах.
не знал что jquery UI не работает на телефонах. Какой компонент посоветуете? И вообще под телефоны надо для фильтров верстку другую. Потом думать буду.
Привязка к ID на страницах. Тоже можно к проблемам отнести. Переиспользовать код на странице несколько раз не получится. Сейчас подобные вещи обычно к data атрибутам и классам привязывают.
От ID я избавился, но переиспользовать код не получиться. Адресная строка одна и 2 фильтра в нее писать не могут. Я начал делать для 2 и более фильтров на странице, но отказался и отменил изменения.
Сам по себе код большой, объемный трудночитаемый. В современном мире разработки обычно принято разбивать код на логические куски и выносить в отдельные модули.
если вникнуть в код то на вполне логические блоки разбито. Можно разбить и по другому, но не факт что получиться лучше. Тем более у меня с этим не айс.
Александр Туниеков
27 ноября 2022, 11:52
0
Из лицензии mSearch2
«that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs»
«вы можете изменить программное обеспечение или использовать его части
в новых бесплатных программах;»
Так получилось что в FacetSearch который я только что написал 90% кода в js файле скопированно из mSearch2.
По лицензии я вроде могу это делать? Как вы к этому относитесь?
Просто js код я придумать лучше не могу :-(. PHP часть совершенно другая.