Задавайте вопросы, мы ответим
Вы не зашли.
подскажите в следующем вопросе.
Контент сайта - исполнители, альбомы, песни. В БД mysql есть таблицы по исполнителям, альбомам, песням. Исполнители, альбомы, песни могут быть как односложными , так и многосложными словами.
Результаты поиска по сайту представляются на одной странице и в виде трех разделов:результаты поиска по исполнителям, по альбомам и по песням.
Поисковый запрос может состоять как только из имени исполнителя или альбома или песни, так и из имени испонителя и альбома или альбома и песни. Вообщем любая комбинация, т.к. Поисковый запрос будет выполнять пользователь сайта.
Подскажите логику создания такого поиска, чтобы результат был релевантный и эффективный - не сильно грузил сервер.
Ради примера я могу привести поисковую систему mp3search.ru. Я попробывал сделать следующие запросы.
Испонитель - Sarah brightman
альбом - time to say goodbye.
Варианты запросов:
1) Sarah brightman
time to say goodbye
2) brightman Sarah time to say goodbye
3) time to say goodbye Sarah brightman
И ДАЖЕ
4) Sarah time brightman to say goodbye
Резульат всех этих запросов был один и тот же -
В графе испонители на первом месте была sarah brightman,
в графе альбомы на первом месте - time to say goodbye.
Буду благодарен за ответы. Может быть можно использовать сторонее програмное обеспечение.
Неактивен
Вам нужно сделать запрос вида
SELECT ... WHERE MATCH (column_name) AGAINST ('запрос_пользователя');
к каждой из трех таблиц и выводить результаты в соответствующем разделе.
На таблицах должен быть полнотекстовый индекс. http://dev.mysql.com/doc/refman/5.1/en/ … earch.html
Неактивен