Я работаю над веб-сайтом, на котором есть пользователи и пользовательские статьи, галереи и видео. Я пытаюсь создать систему тегов и найти их все.
Сначала я думал в tbl_articles, tbl_galleries и tbl_videos, что у меня будет заголовок, описание и поле тегов. Затем выполните запрос, подобный следующему для каждого:
select * from tbl_articles where match(title, description, tags)
against ('$search' in boolean mode) ORDER BY match(title, description, tags)
against ('$search' in boolean mode) DESC, views desc LIMIT 0, 3
Один и тот же запрос для tbl_galleries и tbl_videos. Для пользователей просто сравните имя пользователя. Затем отобразите по три на странице результатов с помощью кнопки «еще» (стиль facebook).
При просмотре статьи, галереи или видео также будут ссылки на связанный контент, поэтому я думал об использовании одного и того же запроса только с LIMIT, установленным в '1,3', чтобы не показывать себя.
Q1 - Как эта система?
Я был доволен системой, пока не нашел этот
В котором они имеют
- таблица тегов, которая содержит два
столбцы первичный идентификатор и уникально
проиндексированное tag_name.
- таблица типа, для которой они имеют
другой первичный идентификатор и уникально
Индексированный тип (категория) (я думал
Я мог бы использовать это для
пользователь / видео / статьи / галерея)
- таблица поиска, которая содержит
URL статьи с иностранным идентификатором
из тегов и типа. (Я думал
вместо полного URL я мог бы просто
сохранить соответствующий внешний идентификатор, чтобы
Я могу создать URL, например,
article.php? ID = ....)
Q2 - Эта система кажется гораздо более эффективной ... хотя как бы я поискал название или описание?
Q3 - Еще одна плохая вещь для каждого просмотра страницы, я должен был бы объединить теги ... так что это может быть не намного эффективнее.
Q4 - Моя система также выполняет поиск только по логическим значениям. Могу ли я быть лучше с запросом 'like'?
Q5 - я ограничиваю своих пользователей четырьмя тегами, но я рекомендую одно слово (стиль stackoverflow) ... Я понимаю, что в моей системе поиск по запросу "вокзал" не будет соответствовать тег как «вокзал», как мне обойти это?
Так много вопросов ... Извините, что так долго. Спасибо.