Kullanıcıları ve kullanıcı tarafından oluşturulan yazılar, galerileri ve video vardır bir web sitesi üzerinde çalışıyorum. Ben bir etiketleme sistemi ve hepsi için bir arama yapmak için çalışıyorum.
İlk başta ben tbl_articles, tbl_galleries ve tbl_videos ben bir başlık, açıklama ve etiketleri alana sahip olacağını düşünüyordum. Sonra her biri için aşağıdaki gibi bir sorguyu çalıştırın:
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 ve tbl_videos için aynı sorgu. Kullanıcıları sadece kullanıcı adı karşılaştırın. Sonra 'more' düğmesine (facebook tarzı) ile sonuçları sayfasında her üç gösterilecek.
Bir makale, galeri veya video izlerken de benzer içeriğe bağlantılar yüzden sadece '1, 3 'ayarlanmış LIMIT ile aynı sorguyu kullanarak düşünüyordum orada olacak - kendini gösteren önlemek için.
Q1 - Bu nasıl bir sistemdir?
Ben bulana kadar, sistem ile mutlu oldu this
Onlar sahip oldukları
- a 'tags' table which contains two columns a primary id and a uniquely indexed tag_name.
- a 'type' table for which they have another primary id and a uniquely indexed 'type' (category) (I thought I could use it for user/video/article/gallery)
- a 'search' table that contains the url of the article with a foreign id from 'tags' and 'type'. (I thought instead of a full url I could just store the related foreign id so that I can generate the url e.g article.php?id=....)
Q2 - nasıl başlık veya açıklama aramak olsa da bu sistem ... çok daha verimli görünüyor?
Q3 - diğer kötü bir şey .. her bir sayfa için ben etiketleri katılmak olurdu böylece o çok daha verimli olmayabilir.
Q4 - Benim sistem sadece ben 'gibi' sorgu ile daha iyi olurdu, çok Boole arar?
Q5 - Bu benim sistemde 'tren istasyonu' için bir arama içinde 'gibi bir etiketi eşleşmiyor olsa ben 4 etiketleri benim kullanıcıları sınırlayabilir, ama ben tek kelime (stackoverflow tarzı) teşvik ... Ben fark tren istasyonu 'nasıl bu çevrede alabilirim?
O kadar çok soru ... bu kadar uzun üzgünüm. Teşekkür ederim.