• Главная
  • Поиск
    •  
  • Здравствуйте, Гость

Автор Тема: Функция минимального количества символов при поиске  (Прочитано 578 раз)
  • *
  • Сообщений: 5
Здравствуйте! Подскажите, пожалуйста, где находится функция, которая задает минимальное количество символов при поиске по объявлениям. Например, сейчас, как я понял, там установлено значение в 4 символа. То есть, если ввести в поиске слово "Нива", то он найдет все объявления о продаже этого автомобиля. А вот если ввести слово "ВАЗ", то ничего найдено не будет, хотя на самом деле такие объявления имеются на сайте. Думаю, это потому, что где-то установлен лимит для поиска не менее 4-х символов. Где и как его можно изменить на 3 символа?

Оффлайн Dis
  • Admin
  • *****
  • Сообщений: 1094
    • Шаблоны и плагины Osclass
Чтобы работал поиск по буквам,можно добавить код вроде этого:
function cust_search_keyword_wildcard($params) {

    if ($params['sPattern']) {
        $mSearch =  Search::newInstance();
        $query_elements = (array) json_decode($mSearch->toJson());
   
        $query_elements['sPattern'] = str_replace(' ', '* ', $query_elements['sPattern']) . '*';
   
        $mSearch->setJsonAlert($query_elements);
    }
}

osc_add_hook('search_conditions', 'cust_search_keyword_wildcard'); 
В файл functions.php Вашего шаблона.

  • *
  • Сообщений: 5
Вставил этот код, но все равно слова с тремя буквами не ищет. Однако, заметил, что если ввести три символа, состоящие не из букв, а из цифр, то поиск срабатывает. Скриншоты во вложениях.

Оффлайн Dis
  • Admin
  • *****
  • Сообщений: 1094
    • Шаблоны и плагины Osclass
Вставил этот код, но все равно слова с тремя буквами не ищет. Однако, заметил, что если ввести три символа, состоящие не из букв, а из цифр, то поиск срабатывает. Скриншоты во вложениях.
Значит всё дело в настройках MSQL.
Нужно конфиг MSQL править, статья на Osclass:
https://doc.osclass.org/Fine-Tuning_MySQL_Full-Text_Search_-_Improving_search
И подробней:
http://dev.mysql.com/doc/refman/5.1/en/fulltext-fine-tuning.html

 


test