• 26-01-2010, 22:19:39
    #1
    Merhaba, benzer videolarda benzer video çıkmıyor .

    Şimdi ilk önce kategoriye ait videoları çekiyorduk. Sonra kategoriyle beraber etikete göre arama yapıp videoları çekdik.(Benzer video alanına)

    Şu an videoları tek tek düzenlemek pek mümkün değil ve düzenlense bile tam istenilen sonuçları vermiyor.

    Mesela youtube da güzel bir sistem kullanılıyor. Anladığım kadarıyla;

    1) Video başlığındaki kelimeleri bölüyor.
    2) Bu kelimeleri aratıyor ama en çok aynı kelime bulunan videolara göre...

    Nasıl bir sistem yapacağım bir akıl lütfen
  • 26-01-2010, 22:30:39
    #2
    Üyeliği durduruldu
    elemeniz gereken kelimeleri belirlersiniz ilk once. başlığı o kelimelerden arındırdıktan sonra kalan cümleyi kelimelere bölersiniz.

    kelimelerin her hangi birine benzemesi sonucun geleceği anlamına gelir. benzeyen kelimelerin artması da bunun sıralamasını verir.

    olay bu ama bunu koda dökemem derseniz başlangıcını yapın size burda yardımcı oluruz.

    kolay gelsin
  • 26-01-2010, 22:43:04
    #3
    echo 'Şu an kafam öyle karışık ki ';
    Alıntı
    str_replace ile array("bu","şu","o") gibi çöp sözcükler silindikten sonra ne yapacağız?
    veya ne yapmak lazım ?
  • 26-01-2010, 23:05:34
    #4
    Üyeliği durduruldu
    kalan kelimeleri kullanarak bir sql cümlesi hazırlayıp bu kayıtlara benzeyenleri getirmeniz lazım..

    WHERE title LIKE '%kelime%' OR title LIKE '%kelime2%' gibi en basitinden..
  • 27-01-2010, 01:42:40
    #5
    Üyeliği durduruldu
    Benzer videoları
    $benzer = @mysql_query("SELECT * FROM videolar WHERE MATCH (videoadi) AGAINST ('*$videoadi*' IN BOOLEAN MODE) GROUP BY rand() LIMIT 10");
    şeklinde alabilirsin.
  • 27-01-2010, 02:24:03
    #6
    THR
    Üyeliği durduruldu
    soundex() e bir bakar mısınız belki aradığınız şey budur
  • 27-01-2010, 11:35:24
    #7
    cevaplar için teşekkürler..
    D3LLy adlı üyeden alıntı: mesajı görüntüle
    kalan kelimeleri kullanarak bir sql cümlesi hazırlayıp bu kayıtlara benzeyenleri getirmeniz lazım..

    WHERE title LIKE '%kelime%' OR title LIKE '%kelime2%' gibi en basitinden..
    bunu anladım bunda bir sorun yok.

    Alone adlı üyeden alıntı: mesajı görüntüle
    Benzer videoları
    $benzer = @mysql_query("SELECT * FROM videolar WHERE MATCH (videoadi) AGAINST ('*$videoadi*' IN BOOLEAN MODE) GROUP BY rand() LIMIT 10");
    şeklinde alabilirsin.
    match ile ne demek istedik? AGAINST BOOLEAN ??? GROUP?
    Zahmet olmazsa küçük bir açıklama rica edebilir miyim?

    THR adlı üyeden alıntı: mesajı görüntüle
    soundex() e bir bakar mısınız belki aradığınız şey budur
    soundex() e baktım ama tam olarak anlayamadım;
    plural -> pluno bu şekilde benzeştiriyor sanırım ama nasıl kullanabiliriz?
  • 27-01-2010, 15:18:46
    #8
    Üyeliği durduruldu
    http://www.kodaman.org/yazi/mysql-ta...n-icerik-arama bu adreste bilgi verilmiş.

    mysql fulltext search olarak googleda bakarsanız daha çok kaynağa ulaşabilirsiniz. İlk mesajıma ekledim sanıyordum bunları eklememişim
  • 27-01-2010, 20:29:35
    #9
    THR
    Üyeliği durduruldu
    hocam levenshtein, similar-text veya soundex fonksiyonları bu tür şeyler için kullanılıyor.

    bu levenshtein örneği: http://urbanoalvarez.es/blog/2008/05...u-mean-in-php/

    buda soundex: http://www.kivancciftci.com/php-mysql-ve-soundex/

    SELECT * FROM TABLOISMI WHERE SOUNDEX(ALANADI) = SOUNDEX(”STRING DEGER”);

    daha önce konuşmuştuk
    https://www.r10.net/php/523580-baslig...lar-arama.html