• 14-12-2007, 13:41:22
    #1
    Üyeliği durduruldu
    Merhabalar, sıkıntı çektiğim bir konuda yardıma ihtiyacım var.
    Sorunum site içi arama konusunda. Şimdi normal bir aramayı LIKE %$kelime% şeklinde sorgulatarak mysql verilerini yazdırıyorum. Haberler diye aratınca haberler kelimesi geçen metinler çıkıyor sonuç olarak burada sorun yok. Ama istanbul haberleri diye aratınca sonuç çıkmıyor çünkü iki kelimenin bir arada geçtiği metin yok, ayrı ayrı metinlerde geçiyorlar. Ben her iki kelimenin ayrı ayrı geçtiği metinleri listeletmek istiyorum. Bunun örneği roketdownload'da var. Bana bu konuda mantık bakımından biraz yardım ederseniz sevinirim. Teşekkür ederim.
  • 14-12-2007, 14:04:54
    #2
    Aslında MySQL'in arama konusunda çok güzel bir özelliği var. Full Text şeklinde..

    Öncelikle bu şekilde arama yapacağınız varchar, text gibi alanları belirtiyorsunuz. Daha sonra arama yapacağınız konuları FULL TEXT SEARCH biçimlerini kullanarak arıyorsunuz. Ayrıca bu arama şeklinde aramanın sonuçlarına göre puanlama yapabiliyorsunuz. Örneğin: hasan yaşar diye bir arama yaptığınızda, hasan yaşar kelimeleri yanyana ise 10, yanyana ama aralarında başka kelimeler varsa 9, çok farklı yerdelerse 8, sadece biri geçiyorsa 7 gibi çeşitli puanlar veriyor. Elbette puanlamalar benim verdiğim kadar basit değil, mesela hasan yaşar kelimesi bir metinde 4 kez geçiyorsa onun puanı ile 1 kez geçenin puanı farklı oluyor.

    Ayrıntılı bilgi ve örnekleri : MySQL AB :: MySQL 5.0 Reference Manual :: 10.8.1 Natural Language Full-Text Searches adresinden alabilirsiniz..

    Bahsettiğim örneğin sorgusu aşağıdaki şekilde olabilir..
    SELECT id, baslik, yazi, MATCH (baslik, yazi) AGAINST ('hasan yaşar') AS puan FROM articles WHERE MATCH (baslik, yazi) AGAINST ('hasan yaşar');
  • 14-12-2007, 14:28:31
    #3
    Üyeliği durduruldu
    Cevap için teşekkür ederim, üzerinde çalışıyorum.
  • 14-12-2007, 14:51:07
    #4
    Xempire adlı üyeden alıntı: mesajı görüntüle
    Cevap için teşekkür ederim, üzerinde çalışıyorum.
    rica ederim, başkalarının da işine yarar umarım
  • 14-12-2007, 23:16:49
    #5
    Burada türkçe anlatımı yapılmıştır diğer bir sitede www.php.org.tr de anlatılmış şuan siteye giremediğim için direk adresi veremiyorum sen kendin açılınca ararsın. Full text search diye
  • 15-12-2007, 00:08:19
    #6
    Ejder ve Dr.iq teşekkurler
    özellikle benzer içerik için kullanılabilecek birşey.
  • 15-12-2007, 00:51:03
    #7
    çok teşekkrler ejder