Size: a a a

2020 June 09

Р

Ростислав in OctoberCMS
ок, постараюсь отписать что получилось. Может scope сработает
источник

S

Sergey_K in OctoberCMS
лучше не LIKE
источник

S

Sergey_K in OctoberCMS
PREG пользуй
источник

S

Sergey_K in OctoberCMS
по JSON будет явно лучше
источник

Р

Ростислав in OctoberCMS
окай, позже попробую
источник

v

vladimir in OctoberCMS
Sergey_K
PREG пользуй
не думаю что поиск по своей регулярке быстрее чем like c простым регулярным выражением. Скорее всего explain выдаст, что своя регулярка будет дольше like'а.
источник

S

Sergey_K in OctoberCMS
Регулярка, очевидно, будет дольше. Просто с like ты рано или поздно огребешь проблем.
источник

S

Sergey_K in OctoberCMS
Речь только об этом.
источник

v

vladimir in OctoberCMS
Sergey_K
json всегда в кавычках - поэтому лучше их включать в шаблон поиска.
Думаю это не важно из-за специфики самого поиска. Стандартный октябрьский поиск для всех столбцов использует like, что в любом случае является сравнением с шаблоном, кавычки там или нет уже не столь важно
источник

v

vladimir in OctoberCMS
Sergey_K
Регулярка, очевидно, будет дольше. Просто с like ты рано или поздно огребешь проблем.
Тогда если необходима скорость и точность, то лучше fulltext либо переход на версию БД с поддержкой json и использованием нормальных возможностей поиска по нему)
источник

S

Sergey_K in OctoberCMS
Не знаю, у меня есть штука, которая парсит логи вебхуков с json и xml.
И ей там надо находить просто отдельные поля.
Ради такого ставить что-то бОльшее нет смысла.
источник

S

Sergey_K in OctoberCMS
Но вопрос в конкретной задаче, конечно
источник

v

vladimir in OctoberCMS
Sergey_K
Не знаю, у меня есть штука, которая парсит логи вебхуков с json и xml.
И ей там надо находить просто отдельные поля.
Ради такого ставить что-то бОльшее нет смысла.
Ну для БД большего чем обновить до версии с поддержкой не нужно, mysql с 5.7 версии json поддерживает, mariadb 10.2.3, postgres 9.2 (Если память не изменяет)
Большего и не нужно собственно)) like скорее костыль для стареньких проектов...
источник

v

vladimir in OctoberCMS
Кстаати, кто сейчас на какой версии и какой бд сидит?
источник

K

Konstantin in OctoberCMS
vladimir
Ну для БД большего чем обновить до версии с поддержкой не нужно, mysql с 5.7 версии json поддерживает, mariadb 10.2.3, postgres 9.2 (Если память не изменяет)
Большего и не нужно собственно)) like скорее костыль для стареньких проектов...
Ну нет)
Поле то как раз с типом json а не text. like нужен если поиск нечёткий, то есть когда вводят в поиске там добавляется фраза посимвольно ж🤷‍♂️ и собственно поиск идёт не по всей json портянке, а по перечисленным свойствам)

Но как сделать поиск по свойствам коллекции из репитера я так и не понял(
источник

v

vladimir in OctoberCMS
Konstantin
Ну нет)
Поле то как раз с типом json а не text. like нужен если поиск нечёткий, то есть когда вводят в поиске там добавляется фраза посимвольно ж🤷‍♂️ и собственно поиск идёт не по всей json портянке, а по перечисленным свойствам)

Но как сделать поиск по свойствам коллекции из репитера я так и не понял(
да у тебя почти что ок, кроме отсутсвия декомпозиции и разделения по scopes или организации простейшего массива для красоты кода :D. Но это вкусовщина, в энтерпрайзе и не такое видел.
Я скорее про поля которые имеют text, но хранят json, тогда просто like по всему телу идет, использовать регулярки regexp сделает более точный поиск, однако сделает его дольше чем like 🙂
источник

v

vladimir in OctoberCMS
Сейчас откопаю на говнокоде чего видел в ентерпрайзе на laravel в году 2016 примерно )
источник

v

vladimir in OctoberCMS
даа, в 2016 - http://govnokod.ru/19851
источник

v

vladimir in OctoberCMS
ТАм весь проект такой был, лента новостей 1500+ запросов делала к БД.
А разработчик которому я пришел на замену, на вопрос - почему не использовалась ORM или другие возможности Laravel, сказал мне так - "Проект писался под большие нагрузки, а не красоту кода".
источник

K

Konstantin in OctoberCMS
ну тут уже кто, как себя успокаивает))
главное чтобы работало и экономика билась)
да и с другой стороны, когда писали, были другие запросы и цели у проекта и менеджмента, как минимимум краткосрочные и чаще всего они корни всех зол..
источник