Я работаю над этим проектом для выполнения домашних заданий. Идея состоит в том, чтобы создать сайт, похожий на Netflix.Как отличить ключевые слова от входа пользователя?
Моя задача состоит в том, чтобы:
On the "Searching" page, the customer can search for movies by any of the following attributes or their combination (logical "AND" operation):
title;
year;
director;
star's first name and/or last name. This means you need to do both: a) first name or last name if only one of the two names is provided; b) first name and last name, if both names are provided.
мне нужно запросить мою базу данных MySQL для всех фильмов, актеров и т.д., соответствующих их запрос и выплюнуть обратно на моем сайте. Мне интересно, что лучше всего отличить ключевые слова от входа пользователя. Мои первоначальные мысли состоят в том, чтобы просто разграничить ключевые слова пользователя по белым пробелам, а затем попытаться сопоставить их с каждым столбцом в таблице MySQL.
Например, если пользователь ищет «Замороженный Idina Менцель» Я первый разбор их поиска на отдельные слова «Frozen», «Idina», «Менцель», и я бы сказал что-то вроде
SELECT * FROM movies WHERE title = 'Frozen' UNION
SELECT * FROM stars WHERE first_name = 'Frozen' UNION
SELECT * FROM stars WHERE last_name = 'Frozen' UNION
SELECT * FROM movies WHERE title = 'Idina' UNION
SELECT * FROM stars WHERE first_name = 'Idina' UNION
SELECT * FROM stars WHERE last_name = 'Idina' UNION
SELECT * FROM movies WHERE title = 'Menzel' UNION
SELECT * FROM stars WHERE first_name = 'Menzel' UNION
SELECT * FROM stars WHERE last_name = 'Menzel'
SELECT * FROM stars WHERE first_name = 'Frozen' AND last_name = 'Idina';
SELECT * FROM stars WHERE first_name = 'Idina' AND last_name = 'Menzel';
Однако это не очень хороший подход, так как есть много ненужных запросов, поэтому мне было интересно, есть ли лучший способ сделать это.
Вы когда-нибудь слышали о полнотекстовом поиске? http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html –