lostyazilim
tr.link

MYSQL Benzerlik Listesi?

4 Mesajlar 802 Okunma
acebozum
tr.link

TheMucit TheMucit UgurKilci.com Kullanıcı
  • Üyelik 15.02.2017
  • Yaş/Cinsiyet 27 / E
  • Meslek Girişimci ve İçerik Üreticisi
  • Konum Aydın
  • Ad Soyad U** K**
  • Mesajlar 540
  • Beğeniler 109 / 118
  • Ticaret 0, (%0)
Merhaba mysql de benzerlik listesi yapıyorum.

Şimdi tablonun adı "benzerlik". Sütunlar "id, benzer_yazi, benzer_kadi"
Örnek tablo:

--

"1", "yeşil ali ata bak", "mehmet"
"2","elma armut şeftali","mehmet"
"3","kırmızı mavi yeşil","ali"
"4","üzüm şeftali","ayse"
"5","plastik dandini dandini dastana","ismail"
"6","egzoz esrar kömür plastik","ayse"

--

Örneğin "mehmet" isimli kişinin 2 verisi var. Bunlar "yeşil ali ata bak" ve "elma armut şeftali" dır. Bu cümlelerin içinde "yeşil" ve "şeftali" diğer verilerle aynı.

Şöyle çalışacak "mehmet" 2 verisindeki kelimeler diğer verilerdeki verilerle benzerse onları listeleyecek.

Mehmet:
"1", "yeşil ali ata bak", "mehmet"
"2","elma armut şeftali","mehmet"

Liste:
"3","kırmızı mavi yeşil","ali"
"4","üzüm şeftali","ayse

gibi.

Neler yaptım?
1. MYSQL LIKE
2. SOUNDS LIKE

Ancak istediğim sonucu elde edemedim.

Nasıl yapabilirim?
 

 

Baştan Sona PHP Eğitimi ➡ youtu.be/TQP8jBwnXw4
elektronikssl
webimgo

carasar carasar All ızz well... Kullanıcı
  • Üyelik 29.10.2016
  • Yaş/Cinsiyet 33 / E
  • Meslek Öğretmen
  • Konum Konya
  • Ad Soyad O** K**
  • Mesajlar 1116
  • Beğeniler 499 / 498
  • Ticaret 16, (%100)
distinct kullanımını araştırın hocam.
 

 

hsntngr hsntngr Kontör at Kullanıcı
  • Üyelik 21.09.2016
  • Yaş/Cinsiyet 31 / E
  • Meslek Full Stack Developer
  • Konum İstanbul Avrupa
  • Ad Soyad H** T**
  • Mesajlar 1155
  • Beğeniler 99 / 327
  • Ticaret 3, (%100)
Hocam güzel düşünmüşsünüz ancak şöyle bir sıkıntı var.

Bildiğim kadarıyla MYSQL de pratik olarak kullanabileceğiniz bir string parçalama işlemi yok. Yani cümlenin kelimelerine parçalayıp, bunları tek bir sorguda diğer kayıtlarda aratamazsınız.

bana makul gelen iki çözüm yolu var.

İlk sorguda mehmete ait verileri çekmek, bu verilerden bir array oluşturmak daha sonrada bu array elemanlarını kullanıp bir LIKE sorgusu olusturmak.

ikinci yol ise (bunu tek sorguda oluşturabilirsiniz.) mehmetin sevdiği şeyleri tek tek kaydetmek.

Daha sonra mehmetin sevdiği şeyleri diğer satırlarda aratmak. Ve bu kullanıcılara ulaşmak.

DB FİDDLE ÖRNEĞİ : https://www.db-fiddle.com/f/hFnh4WbXSMpAvnLTFgAsCo/0

İlk söylediğim şeyi yapabilmeniz için, işin içine php giriyor. (Veya hangi dili kullanıyorsanız.) İlk veriyi çeker, parçalar bu parçalardan bir LIKE sorgusu olusturup aradıklarınızı bulursunuz :)

Benim aklıma gelen çözüm yöntemleri bunlar.
TheMucit

kişi bu mesajı beğendi.

TheMucit TheMucit UgurKilci.com Kullanıcı
  • Üyelik 15.02.2017
  • Yaş/Cinsiyet 27 / E
  • Meslek Girişimci ve İçerik Üreticisi
  • Konum Aydın
  • Ad Soyad U** K**
  • Mesajlar 540
  • Beğeniler 109 / 118
  • Ticaret 0, (%0)

hsntngr adlı üyeden alıntı

Hocam güzel düşünmüşsünüz ancak şöyle bir sıkıntı var.

Bildiğim kadarıyla MYSQL de pratik olarak kullanabileceğiniz bir string parçalama işlemi yok. Yani cümlenin kelimelerine parçalayıp, bunları tek bir sorguda diğer kayıtlarda aratamazsınız.

bana makul gelen iki çözüm yolu var.

İlk sorguda mehmete ait verileri çekmek, bu verilerden bir array oluşturmak daha sonrada bu array elemanlarını kullanıp bir LIKE sorgusu olusturmak.

ikinci yol ise (bunu tek sorguda oluşturabilirsiniz.) mehmetin sevdiği şeyleri tek tek kaydetmek.

Daha sonra mehmetin sevdiği şeyleri diğer satırlarda aratmak. Ve bu kullanıcılara ulaşmak.

DB FİDDLE ÖRNEĞİ : https://www.db-fiddle.com/f/hFnh4WbXSMpAvnLTFgAsCo/0

İlk söylediğim şeyi yapabilmeniz için, işin içine php giriyor. (Veya hangi dili kullanıyorsanız.) İlk veriyi çeker, parçalar bu parçalardan bir LIKE sorgusu olusturup aradıklarınızı bulursunuz :)

Benim aklıma gelen çözüm yöntemleri bunlar.


bugün ilk söylediğiniz aklıma geldi onun üzerinde çalışıyorum. :)
 

 

Baştan Sona PHP Eğitimi ➡ youtu.be/TQP8jBwnXw4
wmaraci
wmaraci
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al