Page 1 of 3
search_log
Posted: Sun Mar 30, 2025 7:25 am
by Andrew1
Приветствую!
Вывожу на индексе результаты последних серчей через
<thumb search_log=all order=date num=1-10 min_results=10>
В коммон.пхп есть такое:
if ( isset($_GET['search']) && ( strlen($_GET['search']) < 3 || strlen($_GET['search']) > 40))
{
unset($_GET['search']);
$_GET['force_template'] = 'content_not_found';
}
Раньше все работало, как и задумывалось, но в последнее время заметил, что в списке появились серчи вида MO, UN, ON, естественно, ведущие на 404. Как правильно исключить такие серчи из search_log?
Re: search_log
Posted: Sun Mar 30, 2025 8:02 am
by admin
Приветствую!
те если полностью сформулировать проблему то "надо что б в базу в лог поисковых запросов не попадали поиски короче 3х символов", я верно понял?
Re: search_log
Posted: Sun Mar 30, 2025 8:11 am
by Andrew1
да

Re: search_log
Posted: Mon Mar 31, 2025 9:57 am
by admin
код верный
common одинаковые?
я бы исследовал как они доходят до скрипта в этом случае
если руками проверить код отрабатывает как надо?
Re: search_log
Posted: Mon Mar 31, 2025 2:27 pm
by Andrew1
не совсем понял, что надо сделать

- коммон.пхп у меня симлинком из корня в cms/cgi сделано;
- руками проверить что? если набрать в поисковой форме 2х буквенный кей, выдает 404.
Re: search_log
Posted: Tue Apr 01, 2025 6:48 am
by admin
макс длина в сетингах есть
Search query max length
we will cut the rest , 0 means no limits
что-то прописано тут
Search query filter pattern (regexp)
?
Re: search_log
Posted: Tue Apr 01, 2025 7:31 am
by Andrew1
40
как и в примере, /[^\p{L}\p{N}\s]/u
Re: search_log
Posted: Tue Apr 01, 2025 6:14 pm
by admin
думаю запрос с символами которые вырезает Search query filter
те пришло например 5 символов, а Search query filter вырезал 3 - осталось 2
какие есть "хитрые" поиковые запросыв логе апача?
Re: search_log
Posted: Wed Apr 02, 2025 8:56 am
by Andrew1
А "хитрые" запросы - это какие, например? А то саппорт конкретики хочет, что именно искать?
"регулярное выражение (regular expression), или, например, какие-то характерные слова или символы в запросе, определенная длина запроса и т.п"
Но причина не в том, что фильтр вырезает какие-то символы, имхо. Дело в том, что сайты старые, проверка на мин.количество символов в запросе появилась позднее, и эти 2х-буквенные кейворды уже попали в базу. А теперь, когда их опять спрашивают, они и вылазят. Может такое быть?
Re: search_log
Posted: Wed Apr 02, 2025 9:53 am
by admin
может и такое быть
в моем примере может быть типа
пришло 3 символа - в коммон прошло проверку
но 1 из них был вырезан Search query filter pattern
по итогу осталось 2
я добавил в ап
Search query min length
if it's less then this value - we will not search
надо
1. удалить в search log то что есть
2. проверить будет ли снова появляться