Помощь Помогите разобраться в многоуровневой навигации, фильтрах и поиске.

Тема в разделе "PrestaShop", создана пользователем Byteman, 1 авг 2018.

Информация :
Приветствую гость, обрати внимание! Темы которые закреплены в разделах, в скором времени будут откреплены. Правила раздела PrestaShop

(Не актуальные темы) Каталоги:Модули PrestaShop 1.7Модули PrestaShop 1.5 - 1.6Шаблоны PrestaShop 1.7Шаблоны PrestaShop 1.5 - 1.6
(Не актуальные темы) Поиск / Запросы:Модули PrestaShop 1.7Модули PrestaShop 1.5 - 1.6Шаблоны PrestaShop 1.7Шаблоны PrestaShop 1.5 - 1.6
Полезная информация:Поддержка и помощь c PrestaShopУбираем ПрестаТраст, стучалки и прочую рекламуСовместные покупки модулей и шаблоновПеревод Prestashop и модулей
Модераторы: trace
  1. DaoKakao

    DaoKakao

    Регистр.:
    2 мар 2013
    Сообщения:
    306
    Симпатии:
    474
    Есть OR'ы, ниже в тексте :)
    Всё равно мне кажется, нужно проверить collation и кодировку БД и таблицы.
     
  2. DaoKakao

    DaoKakao

    Регистр.:
    2 мар 2013
    Сообщения:
    306
    Симпатии:
    474
    Вывод - юзать сторонний поиск, не такой странный :)
     
  3. DaoKakao

    DaoKakao

    Регистр.:
    2 мар 2013
    Сообщения:
    306
    Симпатии:
    474
    Я тут вот еще чего подумал: мне встречалась на некоторых продвинутых сайтах одна хитрая мулька. Например, набираем "Пугачов" или "Пугочефф", и оно предлагает нормальные варианты. Эластик вроде умел такие кунштюки, но уж больно он монструозен.
     
  4. Byteman

    Byteman

    Регистр.:
    18 мар 2008
    Сообщения:
    454
    Симпатии:
    220
    Единственный OR в этом файле в этом фрагменте:

    $score = '';
    if (is_array($score_array) && !empty($score_array)) {
    $score = ',(
    SELECT SUM(weight)
    FROM '._DB_PREFIX_.'search_word sw
    LEFT JOIN '._DB_PREFIX_.'search_index si ON sw.id_word = si.id_word
    WHERE sw.id_lang = '.(int)$id_lang.'
    AND sw.id_shop = '.$context->shop->id.'
    AND si.id_product = p.id_product
    AND ('.implode(' OR ', $score_array).')
    ) position';

    но эта строчка имеет отношение к выводу данных в стринги, но не собственно к поиску, если я правильно понимаю?
    То есть тут замена OR на AND не поможет.

    Что касается collation и кодировки БД:

    upload_2018-8-7_15-22-42.png

    upload_2018-8-7_15-20-46.png
     
  5. Byteman

    Byteman

    Регистр.:
    18 мар 2008
    Сообщения:
    454
    Симпатии:
    220
    Какой именно? Чтобы эти проблемы были решены в нём и не создавал других проблем и не был головоломным в настройках.
    А местные эксперты тут неоднократно высказывались, что родной поиск неплохой и не стоит перегружать престу дополнительными модулями.
     
    _sashok нравится это.
  6. _sashok

    _sashok PrestaShop Expert

    Регистр.:
    15 июл 2011
    Сообщения:
    2.113
    Симпатии:
    3.497
    в престе по дефолту тоже такая штука есть на странице настройки поиска
    там где пример "blouse" "bluose" и т.д.
    но если базу данных вариантов ошибочных написаний достать и залить - боюсь, что скорость работы понизится, поэтому целесообразность под вопросом
     
  7. DaoKakao

    DaoKakao

    Регистр.:
    2 мар 2013
    Сообщения:
    306
    Симпатии:
    474
    Круто работает поиск! Ищем "Водка и Сталин", оно сперва ищет "vodka%", потом "stalin%" в алиасах, потом в поисковых словах, а потом запрос с LIKE "vodka%" OR LIKE "stalin%" . Отсюда делаем вывод - будет показывать всё вперемешку.
    Однако, @_sashok указал верное направление - alias'ы/псевдонимы. В этом случае скорее всего поиск даже ускорится, так как обращение к этой таблице идёт в первую очередь и может сократить число дальнейших выборок. И да, вбиваешь алиас на русском, он конвертится в транслит. Но если в слове есть например мягкий знак, то в запросе будет что-то вроде того: "мальчик" превратится в "malьchik". Интересно, мускуль корректно найдёт такое слово?
     
    _sashok нравится это.
  8. Byteman

    Byteman

    Регистр.:
    18 мар 2008
    Сообщения:
    454
    Симпатии:
    220
    Да, для начала хотя бы поиск по целой фразе наладить. Мне интересно, это только у меня такая проблема?
    Все остальные такие грамотные и сами решили эту проблему, но подсказать конкретно где, что и как править никто не может?
     
    Последнее редактирование: 7 авг 2018
  9. Byteman

    Byteman

    Регистр.:
    18 мар 2008
    Сообщения:
    454
    Симпатии:
    220
    Именно так и происходит.
    И что же, большинство такие магазины ведёт и не видит в этом проблемы и не решает её никак?
     
  10. Byteman

    Byteman

    Регистр.:
    18 мар 2008
    Сообщения:
    454
    Симпатии:
    220
    Причём тут альясы в случае необходимости поиска по целой фразе?
    Да и для различения между е и ё тоже это плохой помощник: где я возьму базу альясов с написанием е и ё, да и какова величина базы будет? Нет - это совсем не то.