üzerinde çalıştığım bir projenin arama noktasında tıkanmış durumdayım.
aşağıdaki tabloları kullanarak bir arama yapmak istiyorum. sanıyorum bu like ile çözülecek iş değil, fulltext, union vs gibi yöntemleri varmış ancak çözemedim.
örnek1: nokia 3310 diye aratıldığında nokia yı markadan, 3310 u telefonlardan çekebilmek
örnek2: 'en iyi kameralı nokia' diye aratıldığında yorumlardan çekip telefonlardan ilgili telefonu çekebilmeli
yardımcı olmanızı rica ederim.
tablo1 -- telefonlar
telefonID, markaID, telefonAdi, telefonAciklama
tablo2 -- markalar
markaID, markaAdi
tablo3 -- yorumlar
yorumID, telefonID, yorum
tablo4 -- etiketler
etiketID, etiketAdi
tablo5 -- etiketlerIliski
iliskiID, etiketID, telefonID
karışık bir arama algoritması?
3
●438
- 24-01-2013, 16:54:28Üyeliği durdurulduYorumların bulunduğu tabloda yazıların sütununda aratacalsimiz çıkan sonuçtaki telefon id'lerini telefon tablosundan aratip yazdıracaksınız

--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 16:54:28 -->-> Daha önceki mesaj 16:40:46 --
Mesela yorumlarda ararken örnek sorgu
SELECT * FROM yorumlar WHERE yorum LIKE '%nokia%' and yorum LIKE '%en%' and yorum like '%iyi%' and yorum like '%kameralı%'
yani aranacak kelimeyi parçalayıp parça parça araycaksınız. Nokia 3310 için ise bence yine aynı teknikle bu sefer ürün markalarının bulunduğu tablodan marka adını iki kelimeyle de aratıp çıkan değerleri telefon tablosunda marka id'ne göre modelini like ile aratacaksiniz - 25-01-2013, 22:18:02
SELECT *, MATCH(header, spot, description, tags) AGAINST('search_tag') AS search FROM games WHERE MATCH(header, spot, description, tags) AGAINST('search_tag') ORDER BY search DESC;fulltext index eklemelisin. İnternette araştırırsan SQL MATCH kriteriyle kesinlikle bulunur.
