Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как запретить выдачу в поиске DLE по определенным словам?

Как запретить выдачу в поиске DLE по определенным словам?


     05.11.2016    Все вопросы » Общие вопросы по PHP    641

вопрос
Как в результатах поиска запретить выдачу по определенным словам словно их не вводили в строку поиска? Нужно перечислить несколько стоп-слов, которые будут игнорироваться при поиске. Например стоп-слово "земля": В поиск вводим "планета Земля" в результате должна получиться выдача только по слову "планета". Если написать в поиске только "земля" или "Земля", то в выдаче должны получить сообщение что ничего не найдено.

Этого мне может быть достаточно.

Но если кто-то знает как реализовать чтоб данные стоп-слова игнорировались например для групп "гости" и "посетители" (т.е. категории 4 и 5) а для остальных групп поиск работал бы как и обычно, было бы просто замечательно! ОЧЕНЬ НУЖНО! Помогите пожалуйста решить эту задачу!

Ответа пока нет


2 комментария

vitnet
Эксперт

vitnet - 5 ноября 2016 10:44 -

Для быстрого поиска

Открыть файл engine/ajax/search.php

Найти
if( $query == "" ) die();

Добавить выше
if( in_array($member_id['user_group'], array(4,5)) ) {
    $stop_list = "земля";
    $query = str_replace($stop_list, "", $query);
}

hostels
Юзер

hostels - 5 ноября 2016 13:36 -

Спасибо за ответ, правда Быстрый поиск у меня все равно отключен, поэтому пока не актуально для быстрого, может пригодится в дальнейшем. А вот как быть с полным поиском? В другой теме вы ответили что где-то отвечали на данный вопрос. Я пересмотрел все темы с вашими ответами, которые могут касаться поиска, но к сожалению так и не нашел ничего относящееся к данному вопросу. Если не трудно, напишите еще раз здесь. Буду очень вам признателен.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх