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. проверить будет ли снова появляться