Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
не
тут дело просто в том, как преста формирует запрос на выборку из БД
1) т.е. по дефолту преста разбирает введённую фразу на слова и ищет слова только по OR (для решения достаточно поправить код запроса с OR на AND)
2) то же самое: преста перегоняет любые нелатинские символы сначала в латиницу (в латинице и хранит поисковые индексные слова) и потом уже по латинице ищет (для решения нужно найти, где именно "ё" превращается в "yo" и заменить "yo" на "e")
Ещё 2 конкретных вопроса по родному престовскому поиску:
Сейчас, например, если в поиске задать Пугачёва, поиск ничего не найдёт, так как в названиях данных товаров прописана буква е, а не ё.
Есть OR'ы, ниже в тексте
Всё равно мне кажется, нужно проверить collation и кодировку БД и таблицы.
Вывод - юзать сторонний поиск, не такой странный
в престе по дефолту тоже такая штука есть на странице настройки поискаЯ тут вот еще чего подумал: мне встречалась на некоторых продвинутых сайтах одна хитрая мулька. Например, набираем "Пугачов" или "Пугочефф", и оно предлагает нормальные варианты. Эластик вроде умел такие кунштюки, но уж больно он монструозен.
Именно так и происходит.Круто работает поиск! Ищем "Водка и Сталин", оно сперва ищет "vodka%", потом "stalin%" в алиасах, потом в поисковых словах, а потом запрос с LIKE "vodka%" OR LIKE "stalin%" . Отсюда делаем вывод - будет показывать всё вперемешку.
Причём тут альясы в случае необходимости поиска по целой фразе?Однако, @_sashok указал верное направление - alias'ы/псевдонимы. В этом случае скорее всего поиск даже ускорится, так как обращение к этой таблице идёт в первую очередь и может сократить число дальнейших выборок. И да, вбиваешь алиас на русском, он конвертится в транслит. Но если в слове есть например мягкий знак, то в запросе будет что-то вроде того: "мальчик" превратится в "malьchik". Интересно, мускуль корректно найдёт такое слово?