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

Автор Тема: Поиск по буквам или частям слов  (Прочитано 1903 раз)
Оффлайн Dis
  • Admin
  • *****
  • Сообщений: 1136
    • Шаблоны и плагины Osclass
« : 21 Ноябрь 2017, 18:39:19 »
В Osclass по умолчанию используется полнотекстовый поиск по словам от 4 символов.
Изменить это можно на своём сервере или VPS в настройках MySQL, подробней тут:https://osclass.pro/nastrojka-mysql-polnotekstovogo-poiska/
Для тех у кого шаред хостинг, возможно поможет хак, с добавлением функции(в functions.php шаблона) в шаблон:
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', 10); 
« Последнее редактирование: 21 Ноябрь 2017, 18:41:08 от Dis »

  • *
  • Сообщений: 23
« Ответ #1 : 04 Октябрь 2018, 16:28:52 »
Тоже озадачился темой с поисковым движком, но я не пойму, как повлияет минимальное и максимальное разрешенное кол-во букв в слове в поиске, на поисковую часть слова?
Допустим, если в поиске набрать слово "мотоцикл", то объявление с заголовком "Аренда мотоциклОВ" уже не учитывается.
Как сделать, чтоб учитывалась часть слова тоже?

Оффлайн Dis
  • Admin
  • *****
  • Сообщений: 1136
    • Шаблоны и плагины Osclass
« Ответ #2 : 04 Октябрь 2018, 17:18:47 »
Тоже озадачился темой с поисковым движком, но я не пойму, как повлияет минимальное и максимальное разрешенное кол-во букв в слове в поиске, на поисковую часть слова?
Допустим, если в поиске набрать слово "мотоцикл", то объявление с заголовком "Аренда мотоциклОВ" уже не учитывается.
Как сделать, чтоб учитывалась часть слова тоже?
Вы код пробовали этот добавить ?
Поиск идёт по частям слов с ним прекрасно.
« Последнее редактирование: 04 Октябрь 2018, 17:46:34 от Dis »

  • *
  • Сообщений: 23
« Ответ #3 : 04 Октябрь 2018, 18:19:26 »
Поиск идёт по частям слов с ним прекрасно.
спасибо, попробую. но хотелось бы и понять логику данного кода... по ссылке указанной вами выше четко написано:
Цитировать
Минимальное значение длины слова равно 4 символам. Это значит, что слова длинной менее 4 символов искаться не будут.
я понимаю так, что слово "Дом" не будет учитываться, а "Дома" будет.
 
Но каким образом это имеет отношение к части слова???
« Последнее редактирование: 04 Октябрь 2018, 18:21:37 от 1nstep »

Оффлайн Dis
  • Admin
  • *****
  • Сообщений: 1136
    • Шаблоны и плагины Osclass
« Ответ #4 : 04 Октябрь 2018, 20:57:05 »
Но каким образом это имеет отношение к части слова???
Код позволяет искать по частям слов, хоть по одной букве.
А в Osclass по умолчанию полнотекстовый поиск, с количеством символов от 4.

 


test