folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder Mysql Fulltext Arama Sorunu



Mysql Fulltext Arama Sorunu

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    hotboy
    hotboy's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    arkadaşlar arama yaptırdıım sorgu şu;

     "SELECT * FROM yazilar WHERE MATCH(yazi) AGAINST ('$aranacak')";

    mesela bi yazının içinde tahribat kelimesi geçiyor, tahribat diye aratırsak o yazı çıkıyor, ama tahri diye aratırsak çıkmıyor, bunun için ne yapmalı ne etmeli ?

     

    şunlarıda denedim, bi netice vermedi;

    "SELECT * FROM yazilar WHERE MATCH(yazi) AGAINST ('*$aranacak*')";

    "SELECT * FROM yazilar WHERE MATCH(yazi) AGAINST ('%$aranacak%')";

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SharpShooter
    SharpShooter's avatar
    Banlanmış Üye
    Kayıt Tarihi: 10/Temmuz/2008
    Erkek
    hacı ben mssql de

    SELECT * FROM yazilar wher adi like @parametre + '%'

    şeklinde yaptığım zaman istediğin gibi çalışıyor

    adam tahri yazdığında tahribat çıkıyo 

    not:

    @parametre kullanıcının girdiği değer :)

    not2:bu mssql için 


    - xx yerde hata var. - ya aslında kod şöyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NmC
    NmC's avatar
    Kayıt Tarihi: 23/Kasım/2008
    Erkek

    mysql de de aynı şekilde çalışır.

     

    select * from tablo where hucre like %tahri%

     

    '%tahri%' de olabilir tam emin değilim denemek lazım. 

    Neyse sonuç olarak içinde tahri geçen kelimeleri getirir :)


    There are 10 types of people in the world. Those who knows binary and those who dont...
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SharpShooter
    SharpShooter's avatar
    Banlanmış Üye
    Kayıt Tarihi: 10/Temmuz/2008
    Erkek

    ama sen daha gelişmiş bi arama sorgusu istersen bayaa kasman lazım

    bi kere öyle bişi yapmaya çalıştıydım 2 gün sürmüştü :)

    hani bu google daki gibi

    "bunu mu demek istediniz" dalgası :)


    - xx yerde hata var. - ya aslında kod şöyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    alp
    alp's avatar
    Kayıt Tarihi: 28/Ekim/2003
    Erkek

    degisken = xyxyx
    mysql_query("SELECT * FROM uyeler WHERE soyad LIKE degisken%")

    ya da

    mysql_query("SELECT * FROM uyeler WHERE soyad LIKE 'xyxyx%'")

    % işaretini sona koyarsan baştan itibaren bakar, başa koyarsan sondan itibaren bakar

    tahribat için düşünürsek % işareti sondaysa tahri kelimesini tahribat olarak görür ama % işaretini başa koyarsan tahribat kelimesine sondan bakacağı için ribat kelimesini düşünür uymadığı için sonuç döndürmez

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    hotboy
    hotboy's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    ohooo :D aramayı halledeli çok oldu, "like" kullanark arama yapmasını bende biliyorum, mysql in fulltext özelliğini kullanıyım dedim, sorunlar çıktı bi sürü, sonra oturdum kendim basit bi fonksiyon yazdım, like ile arama yapan, "hüseyin keleş" aratınca kelimeleri ayrı ayrı aratan falan, güzel bişi oldu,

     

    bu arada;

    ------------------

    ama sen daha gelişmiş bi arama sorgusu istersen bayaa kasman lazım

    bi kere öyle bişi yapmaya çalıştıydım 2 gün sürmüştü :)

    hani bu google daki gibi

    "bunu mu demek istediniz" dalgası :)

     ------------------

    denemek isterseniz http://whosayin.com solda arama yerine "tahribap" yazın aratın;

    Acaba aradığın şey tahribat olabilir mi? Sadece ufak bi öneri..

     

    yoğun istek olursa paylaşabilirim fonksiyonları, kendi ürünümdür ;)

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SharpShooter
    SharpShooter's avatar
    Banlanmış Üye
    Kayıt Tarihi: 10/Temmuz/2008
    Erkek

    hotboy bunu yazdı:
    -----------------------------

    ohooo :D aramayı halledeli çok oldu, "like" kullanark arama yapmasını bende biliyorum, mysql in fulltext özelliğini kullanıyım dedim, sorunlar çıktı bi sürü, sonra oturdum kendim basit bi fonksiyon yazdım, like ile arama yapan, "hüseyin keleş" aratınca kelimeleri ayrı ayrı aratan falan, güzel bişi oldu,

    bu arada;

    ------------------

    ama sen daha gelişmiş bi arama sorgusu istersen bayaa kasman lazım

    bi kere öyle bişi yapmaya çalıştıydım 2 gün sürmüştü :)

    hani bu google daki gibi

    "bunu mu demek istediniz" dalgası :)

     ------------------

    denemek isterseniz http://whosayin.com solda arama yerine "tahribap" yazın aratın;

    Acaba aradığın şey tahribat olabilir mi? Sadece ufak bi öneri..

    yoğun istek olursa paylaşabilirim fonksiyonları, kendi ürünümdür ;)

    -----------------------------

     

    hoş olmuş :)


    - xx yerde hata var. - ya aslında kod şöyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    hotboy
    hotboy's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek
    SharpShooter bunu yazdı:
    -----------------------------

    hotboy bunu yazdı:
    -----------------------------

    ohooo :D aramayı halledeli çok oldu, "like" kullanark arama yapmasını bende biliyorum, mysql in fulltext özelliğini kullanıyım dedim, sorunlar çıktı bi sürü, sonra oturdum kendim basit bi fonksiyon yazdım, like ile arama yapan, "hüseyin keleş" aratınca kelimeleri ayrı ayrı aratan falan, güzel bişi oldu,

    bu arada;

    ------------------

    ama sen daha gelişmiş bi arama sorgusu istersen bayaa kasman lazım

    bi kere öyle bişi yapmaya çalıştıydım 2 gün sürmüştü :)

    hani bu google daki gibi

    "bunu mu demek istediniz" dalgası :)

     ------------------

    denemek isterseniz http://whosayin.com solda arama yerine "tahribap" yazın aratın;

    Acaba aradığın şey tahribat olabilir mi? Sadece ufak bi öneri..

    yoğun istek olursa paylaşabilirim fonksiyonları, kendi ürünümdür ;)

    -----------------------------

     

    hoş olmuş :)


    -----------------------------

    senin 2 günde yaptığın böyle çalışıyormuydu ;)

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SharpShooter
    SharpShooter's avatar
    Banlanmış Üye
    Kayıt Tarihi: 10/Temmuz/2008
    Erkek

    hotboy bunu yazdı:
    -----------------------------
    SharpShooter bunu yazdı:
    -----------------------------

    hotboy bunu yazdı:
    -----------------------------

    ohooo :D aramayı halledeli çok oldu, "like" kullanark arama yapmasını bende biliyorum, mysql in fulltext özelliğini kullanıyım dedim, sorunlar çıktı bi sürü, sonra oturdum kendim basit bi fonksiyon yazdım, like ile arama yapan, "hüseyin keleş" aratınca kelimeleri ayrı ayrı aratan falan, güzel bişi oldu,

    bu arada;

    ------------------

    ama sen daha gelişmiş bi arama sorgusu istersen bayaa kasman lazım

    bi kere öyle bişi yapmaya çalıştıydım 2 gün sürmüştü :)

    hani bu google daki gibi

    "bunu mu demek istediniz" dalgası :)

     ------------------

    denemek isterseniz http://whosayin.com solda arama yerine "tahribap" yazın aratın;

    Acaba aradığın şey tahribat olabilir mi? Sadece ufak bi öneri..

    yoğun istek olursa paylaşabilirim fonksiyonları, kendi ürünümdür ;)

    -----------------------------

    hoş olmuş :)
    -----------------------------

    senin 2 günde yaptığın böyle çalışıyormuydu ;)

    -----------------------------

    benim yaptığım biraz daha gelişmişiydi.


    - xx yerde hata var. - ya aslında kod şöyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    xzxz
    xzxz's avatar
    Kayıt Tarihi: 21/Haziran/2003
    Erkek

    hotb oy bunu yazdı:
    -----------------------------

    arkadaşlar arama yaptırdıım sorgu şu;

     "SELECT * FROM yazilar WHERE MATCH(yazi) AGAINST ('$aranacak')";

    mesela bi yazının içinde tahribat kelimesi geçiyor, tahribat diye aratırsak o yazı çıkıyor, ama tahri diye aratırsak çıkmıyor, bunun için ne yapmalı ne etmeli ?

     

    şunlarıda denedim, bi netice vermedi;

    "SELECT * FROM yazilar WHERE MATCH(yazi) AGAINST ('*$aranacak*')";

    "SELECT * FROM yazilar WHERE MATCH(yazi) AGAINST ('%$aranacak%')";

     


    -----------------------------

     

    Bu match against tarzı çok fazla kullanılan bişey değil mysql de , "A kolonunun içinde $y değişkeni geçen kayıtları"  aramak için "SELECT * FROM tablo WHERE A LIKE '%$y%'  "  gibi bir sorgu kullanman daha mantıklı olur  


    herşeyin bir şeyi vardır
Toplam Hit: 2797 Toplam Mesaj: 10