Comments 22
Интересно посмотреть на реализацию сортировки, напишите, пожалуйста.
+2
А в php стало так принято один action контроллера раздувать на 50 строчек?
0
Я в курсе о принципе DRY для контроллеров, но старался показать решение задачи наиболее наглядно. Так то формирование запроса к ES следовало бы вынести в отдельный метод.
0
А суперглобалы зачем в контроллер пихаете? у вас же есть няшный Request. Вообще «для наглядности» — простая отговорка. С классом-репозиторием было бы даже нагляднее.
-1
Там прямо под кодом автор указал:
Если уж к _GET придираетесь, то почему не написали про отстуствтие проверки что filters — массив, что underscore в перемешку с camesCase это несоответствие стандартам и, наконец, про неправильные отступы?
Статья годная, надо будет писать интернет магазин с таким функционалом — может пригодиться как один из вариантов решения.
для наглядности использую $_GET, но вы используйте Request
Если уж к _GET придираетесь, то почему не написали про отстуствтие проверки что filters — массив, что underscore в перемешку с camesCase это несоответствие стандартам и, наконец, про неправильные отступы?
Статья годная, надо будет писать интернет магазин с таким функционалом — может пригодиться как один из вариантов решения.
+1
Неправильные отступы, камелькейс и нижнее подчеркивание и прочее фиксится при помощи csfixer, да и это мелочи. А вот использование суперглобальных переменных (а можете поверить, подавляющее большинство начинающих разработчиков, а эта статья годна только для них, будут бездумно копировать именно такой вариант) убивает на корню возможность красиво покрыть интеграционными тестами контроллер, да и с таким подходом можно было бы вообще выкинуть Symfony и писать на plain-php.
ИМХО если уж писать туториал для новичков, стоит делать по best practice с разьяснениями что и зачем, тут же я вижу набор из примеров в сети слепленный вместе в кашу на скорую руку.
ИМХО если уж писать туториал для новичков, стоит делать по best practice с разьяснениями что и зачем, тут же я вижу набор из примеров в сети слепленный вместе в кашу на скорую руку.
+1
Благодарю вас за ваш отзыв. В момент написания статьи не посчитал важным эту дырку, однако мнения читателей показывают, что это важно, посему обработчик формы фильтра переписал на симфонивский Request. Переменные внутри него назвал единообразно по camelCase.
И я по своей святой наивности надеюсь, что код отсюда не будет бездумно копироваться. Иначе, кому нужны best practice и объяснения?
И я по своей святой наивности надеюсь, что код отсюда не будет бездумно копироваться. Иначе, кому нужны best practice и объяснения?
0
Интересно, а есть ли возможность, имея 3 значения 2,68; 2,7; 2,71 аггрегировать их в 2,7 средствами движка?
или
Есть характеристика товаров
Intel core i5-352
Intel core i5-1234
proЦЦessor интел core i5-4321
аггрегировать в одну характеристику core i5?
или
Есть характеристика товаров
Intel core i5-352
Intel core i5-1234
proЦЦessor интел core i5-4321
аггрегировать в одну характеристику core i5?
0
ArFeRR чуть чуть не потеме, в чем схему рисовали? приятная картинка.
0
«Intel core i5-352» можно написать в разном регистре — «Intel core i5-352», «Intel Core i5-352», «INTEL CORE i5-352»
Как с этим боретесь?
Как с этим боретесь?
0
Подключайте анализатор. Или при записи в базу (следовательно индексации) делайте это по какому-то договору.
0
Обычные анализаторы разбивают текст на слова и индексируют все слова. Тут же надо чтобы строка анализировалась как одно слово, только предварительно приводилось к одному регистру. Но анализатор lowercase тут не подойдет т.к. все фасеты будут в нижнем регистре «intel core i5-352», это не красиво. Какой анализатор тут подойдет?
0
а что если для фасетов все записывать по одному алгоритму, а индексировать друго поле, куда будет заноситься значение по другому алгоритму?
0
Несмотря на примечание автора, тип должен быть nested. В примере ArFeRR, ему просто повезло, что у разных свойств были неповторимые значения. У меня были несколько свойств типа да/нет/пусто. Это была катастрофа. По одному «нет» выбирались все объекты, у которых «нет» было хоть в каком-то свойстве.
подробное объяснение на примере.
подробное объяснение на примере.
0
Спасибо за статью. Для полноты понимания, помог бы итоговый вид класса продукта. Есть возможность прикрепить?
0
Подскажите кто нибудь как на этой структуре для каждого значения вывести рядом количество товаров, которые относятся к этому значению, причем относительное (имеется ввиду с "+" к числу товаров по выбранным значениям), к примеру как на этом сайте: hotline.ua/computer/noutbuki-netbuki/26221-858-880?
Буду очень благодарен!
Буду очень благодарен!
0
Sign up to leave a comment.
Articles
Change theme settings
Делаем простейший фильтр по свойствам товаров с помощью ElasticSearch на Symfony2