Magic Filter подводим итоги

Magic Filter подводим итоги

В продолжение поста про sphinx фильтр.

Итак. Простите за задержку. Цифры у нас вот такие:

timing

 

Я же говорил, многие про меня плохо думают ну какие 2 секунды, разводил бы я этот огород ради 2 секунд? Получились действительно нереальные цифры (НА ХОЛОДНУЮ. КЕШИ НЕ ИСПОЛЬЗУЮТСЯ ОТ СЛОВА СОВСЕМ). Данный показатель можно еще уменьшить, если поместить набор значений без выбранных параметров в кеш. При чем в кеш необходимо будет помещать только такие базовые наборы на каждую категорию — но про это позже.

А теперь давайте с результатами розыгрыша сборки.
Я собрал в кучу результаты комментаторов и вот что получилось:

res

Byba, Kabantejay и ВасяХуйкин оказались ближе всех, и им отваливается по лицензии сборки opencart.pro. Для получения — обращайтесь к нам на форум к Admin.

А теперь несколько слов про то как эта магия работает:

Все данные с атрибутами определенным хитрым образом преобразованы и загружены в индекс Sphinx. Вся выборка группировка значений происходит при помощи SphinxQl. В целом это почти mysql-запросы, но с некоторыми ограничениями, из-за которых я себе месяц ломал голову, покуривая мануал, в попытках их обойти — и таки получилось.

Часть данных в виде базовых справочников, определяющих типизацию наборов, забирается напрямую из Mysql, а потом под набор параметров из сфинкса выгребаются сгруппированные значения.

Значительного прироста скорости удалось добиться за счет, отказа от сортировки наборов на уровне хранилищ данных, вся сортировка ушла в php.

В силу ограничений на структуру запросов в индекс, для подсчета значений с выбранными параметрами, пришлось сформировать дополнительный хеш-индекс, благодаря которому, при выбранных параметрах, подсчет оставшихся значений набора осуществляется за 5-10-15 сотых секунды.

В теории, при помощи подобного механизма, можно реализовать достаточно быстрый фильтр  исключительно с использованием MySql, а с нововведениями в 5.7 — очень очень быстро. Но пока не доходят руки поэкспериментировать. Необходимо доработать существующий прототип до «коробочной версии».

Пока я не решил пойдет ли данная поделка в виде «коробки» с услугой установки. Либо же останется реализацией для «ближнего круга». Если Динокс и 19ый мне прогарантируют эксклюзив и соблюдение авторских прав на торговых площадках, пойдет в коробку, но шансов мало, так как мне очень не нравиться тенденция попустительства к ворам, которые слизывают удар в удар идею, переписывают название переменных и с пеной у рта кричат — это мы все сами. Пока такая практика будет присутствовать, подобные наработки будут реализовываться только в формате из рук в руки.

Также еще предстоит доделать интеграцию фильтра в производители, акции и поиск. Сделать ему какую-то внятную админку и дописать логику для обработки опций и производителей. Создать набор статичных параметров  с ценами в виде дискретных наборов с шагом от .. до. Опционально ползунок цен.

Скорее всего будет коробка, которая будет работать сугубо на mysql. Она будет быстрая — но таких показателей как я привел выше, достичь не удастся и рядом. Но на 5-10к товаров в категории будет самолет даже на слабых серверах. Ну и до Нового Года вестей по этой теме больше не будет,- уйду  в запил. Есть еще вариант договориться с маэстро SOOR, забрать у него весь негрокод, и просто подменить структуру источника данных. Но, я даже не пытался с ним этот вопрос обсуждать, так как к его фильтру у меня очень много вопросов.

upd. Поддержку MegaFitler сделать не удастся, так как он наглухо кодированный. И если базовые данные ему скормить — не проблема, то вот с логикой выборки-подсчета будут проблемы.

 

 

 

Хуйнаныр(15)Очко(0)

Запостить высер

17 Высеров на "Magic Filter подводим итоги"

Стучать мне на мыло
avatar

Сортировать:   Свежие | Тухлые | Хуйнанырные
tomm
робот-вертер
tomm
14 дней 22 часов назад

а почему «Она будет быстрая — но таких показателей как я привел выше, достичь не удастся и рядом» ?

Вася Хуйкин
робот-вертер
Вася Хуйкин
14 дней 15 часов назад

Написал в личку админу под ником Maximile. А кто представится мной — идите нахуй)

Celtik Frost
робот-вертер
Celtik Frost
14 дней 2 часов назад

Поздравляю Вас с выигрышем, Василий!)

Сеньёрпомидор
робот-вертер
Сеньёрпомидор
14 дней 13 часов назад

«я себе месяц ломал голову, покуривая мануал»
Почему месяц? Разве не на фасетах делал?

Veltie
робот-вертер
Veltie
12 дней 21 часов назад

а я думал ближе 0.53 нежели 0.42

Veltie
робот-вертер
Veltie
11 дней 12 минут назад

Правда восторжествует или нет?:) обидно как то если твой результат победный но тебя игнорят

Bigbroo
робот-вертер
Bigbroo
12 дней 8 часов назад

Тот случай когда пишешь 0.47, а оно не опубликовалось :(

Саша
робот-вертер
Саша
4 дней 17 часов назад

Почему пропустили пользователя Veltie, в списке он указал 0,53 с. А болтается не пофеншую

kabantejay
робот-вертер
kabantejay
7 часов 39 минут назад

оп, четко) не зря видать я столькой проебался на куче сайтов с этим фильтром, опыт не пропьешь :D

большое спасибо, автор конкурса — джентельмен / креатив достоен уважения!

kabantejay
робот-вертер
kabantejay
7 часов 31 минут назад

бля я затупил не по теме предыдущий комент, потрите, ошибся имел ввиду мегафильтр, нихера не помню просто о чем пост, а человек я простой))

wpDiscuz