SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 31.08.2009 12:06:08

stasbz
Участник
Зарегистрирован: 28.06.2009
Сообщений: 3

поисковой системы под специфичный контент сайта.

подскажите в следующем вопросе.
Контент сайта - исполнители, альбомы, песни. В БД 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.
Буду благодарен за ответы. Может быть можно использовать сторонее програмное обеспечение.

Неактивен

 

#2 31.08.2009 13:27:29

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: поисковой системы под специфичный контент сайта.

Вам нужно сделать запрос вида
SELECT ...  WHERE MATCH (column_name) AGAINST ('запрос_пользователя');
к каждой из трех таблиц и выводить результаты в соответствующем разделе.

На таблицах должен быть полнотекстовый индекс. http://dev.mysql.com/doc/refman/5.1/en/ … earch.html

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson