sam7> Это глюк или неработающая функция?
«Это не баг, это фича». Морфологический поиск в подобных системах обычно очень упрощённый и использует стемминг — отбрасывание всех похожих на окончания и суффиксы частей. «поиск» -> «поиск», «поисковый» -> «поиск».
Для аббревиатур, типа «САУ» такой подход не работает. Ну, или можно считать, что принимает это слово винительный падеж слова «са». «Кто — са, кого — сау».
sam7> Задаю поиск на Морском по слову Саяны, всюду, отмечаю "точное соответствие"
Это поиск не по отсутствию морфологии, а по точному соответствию фразы. В смысле подряд идущих слов. Переделал и расширил сейчас поиск, добавил возможность
двоичного и
расширенного поиска.
sam7> САsam7> САУsam7> санках
Как я уже и писал, проблема стемминга.
sam7> вѣса
Вот это — забавно. Поисковый движок не считает «ѣ» за букву и выбрасывает. Соответственно в поиск идёт «в са».
sam7> колёса
А вот это уже, кажется, мой баг. Для индексов по заголовкам я «ё» в список допустимых букв добавил, а для постингов — видимо нет. Сейчас прописал, но переиндексироваться будет долго. Надо будет потом проверить.
sam7> Нассауsam7> спасательныхsam7> самообороны
Это непонятно. Надо будет разобраться. Не должны находитьсяю
sam7> опа-саясь
Тут всё понятно. Два слова: «опа» и «саясь». Второе и находит.
sam7> Можно сделать, чтобы искало то, что спрашивают?
Часа два сейчас угрохал на поиск того, можно ли отключить стемминг при запросе. Теоретически должен отключаться при расширенном запросе в формате «=САУ». Но на практике — не работает. То ли я что-то не то запрашиваю, то ли баг в движке.
Есть тупой выход — составить два комплекта индексов, один со стеммингом, другой без. Но для этого, по-хорошему, надо полностью переделать структуру индексов и переписать поиск.