Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Full Text Arama ile ilgili çalışmayan örnek???

Konu, 'PHP' kısmında shumaf tarafından paylaşıldı.

  1. shumaf

    shumaf Üye

    Kayıt:
    3 Mart 2007
    Mesajlar:
    47
    Beğenilen Mesajlar:
    0
    Fulltext arama ile ilgili sabahtan beri baya cebelleşiyorum. önce normal bir arama motoru yapıp cümle aratabilmeyi düşünüyordum ki okuduklarımdan cümle aratmak için fulltext aramanın daha kolay ve sistem için daha elverişli olduğu kanaatine vardım. verilen örneklerden yola çıkarak öncelikle kategoriler tabloma fulltext özelliği verdim
    sonra aşağıdaki kodu çalıştırdım. ancak kategorilerde dernek olmasına rağmen birşey bulamadı.

    Kod:
    <?
    //veritabanına bağlantısı burada
    $sql = "SELECT * FROM kategoriler WHERE MATCH(kategori) AGAINST ('dernek')";
    $sorgulama = mysql_query($sql);
    if (mysql_num_rows($sorgulama)>0){
    //kayitlari listele
    while ($kayit=mysql_fetch_array($sorgulama)){
    $kategori=$kayit["kategori"];
     
    echo $kategori;
    }
    }
    else {
    echo"<br><br><center><b>$kelime ile ilgili sonuç bulunamadı</b></center><br><br>";
    }
    ?>

    Daha sonra internetten bulduğum aşağıdaki kodu denedim oda çalışmadı. yalnışım nerede acaba??? Cevaplarınız için şimdiden teşekkürler

    Kod:
    <?php 
    //$kelime = array_key_exists('kelime', $_POST) ? trim(stripslashes(strip_tags($_POST['kelime']))) : ''; 
    $kelime="dernek";
    if(empty($kelime)){ 
       echo "\n".'<p>No search term entered.</p>'; 
    }else{ 
       // SQL injection prevention (double quote mark is allowed here but should probably be disallowed) 
       $kelime = strtr($kelime, ',/\*&()$%^~`?;', '               '); 
       $kelime = trim($kelime); 
       $kelime = str_replace('#180', '', $kelime); 
       echo "\n".'<p>Searching for <i>'.htmlspecialchars($kelime).'</i>... </p>'; 
       $key = 'text_index'; 
       // Beware of the re-definition of $s in this query. 
       $kelime = html_entity_decode($kelime, ENT_QUOTES); 
       if(!($res = mysql_query( 
          'SELECT `firm_id` AS s `firmaadi`, `faaliyet`  
             FROM kurumlar  WHERE   
                   MATCH(`firmaadi`, `faaliyet`)  
                      AGAINST ("'.$kelime.'")  
                         LIMIT 10' 
                            ))){ 
          echo "\n".'<p>No match for: <i class="red">'.$kelime.'</i></p>'; 
       }else{ 
          if(mysql_num_rows($res) == 0){ 
             echo "\n".'<p>The search engine cannot find the page you are looking for.</p>'; 
             echo "\n".'<p>This could be because it could not find any pages containing <i>'.$kelime.'</i>'; 
             echo "\n".'<p>Alternatively, it might have found too many pages, and could not decide which one you wanted.</p>'; 
          }else{ 
             $i = 0; 
             while($row = mysql_fetch_array($res)){ 
                $s = substr(stristr(strip_tags($row['faaliyet']), $kelime), 0, 120); 
                if($s == ''){ 
                   $s = substr(strip_tags($row["faaliyet"]), 0, 120); 
                } 
                $i++; 
                echo "\n".'<p>'.$i.'.) <a href="results.php?firm_id='.$row['s'].'">'.htmlentities($row['firmaadi']).'</a> ... '.$s.'...</p>'; 
             } 
          } 
       } 
       // Save searches to monitor user activity 
       $kelime_qry = sprintf("INSERT INTO vs_searches (firm_id, kelime, ip) VALUES ('', '%s', '%s')", addslashes($kelime), addslashes($ua['ip'])); 
       if(!($kelime_res = mysql_query($kelime_qry))){ 
          $opts['error_msg'] .= 'Insert failed for search kelime'."\n".$kelime_qry."\n"; 
       } 
    } 
    ?> 
    
     
  2. Setting_By

    Setting_By Üye

    Kayıt:
    16 Mart 2008
    Mesajlar:
    89
    Beğenilen Mesajlar:
    0
    nasıl bir fulltext özelliği verdin ?

    ilk kendi çalışmanda kod ve döngü bakımından sorun yok ama kategorilerde sadece senin makale idlerini tutarak sıralama yapacagı için makale tablolarında bu işlemi geliştirmen gerekir.(tabi bu yazı fulltext özelliğini göz ardı edilerek yazıldı :)))
     
  3. shumaf

    shumaf Üye

    Kayıt:
    3 Mart 2007
    Mesajlar:
    47
    Beğenilen Mesajlar:
    0

    Kod:
     
    ALTER TABLE `kategoriler` ADD FULLTEXT (
    `kategori1` 
    )
    
    yukarıdaki kodu ekledim fulltext özelliği vermek için. tablolarda işlem nasıl gelişirki? o kısmı anlamadım

    forumda fulltext ile ilgili bir çok konu var ama sorununu çözebilen geri dönüş yapmadığından pek bir şey anlamadım
     
  4. Setting_By

    Setting_By Üye

    Kayıt:
    16 Mart 2008
    Mesajlar:
    89
    Beğenilen Mesajlar:
    0
    tamam işte aynı durum . "LIKE" yada " FULLTEXT" . burda geliştirme derken kategori tablosuna uyguladıgın like yada fulltext neyse işte makale tablosuna uygulayıp aramayı makale tablosundan aratman. kategori ismini sonra döngü yardımıyla belirtebilirsin .kolay gelsin .
     
  5. shumaf

    shumaf Üye

    Kayıt:
    3 Mart 2007
    Mesajlar:
    47
    Beğenilen Mesajlar:
    0
    benim makale tablom yok ki :) (onu nereden çıkardın anlamadım) ben sadece kategori tablosuna sahibim ve amacım kategori sütunundaki veriler içinden fulltext özelliğini kullanarak arama yapmak ve aranan kelime yada (cümlede olabilir). ile eşleşen veya benzeşen verileri listeletmek.

    ancak yaptığım tüm araştıröalardaki örneklerden anladığım kadarı ile yaptığım denemeler sonuç döndürmüyor???
     
  6. Setting_By

    Setting_By Üye

    Kayıt:
    16 Mart 2008
    Mesajlar:
    89
    Beğenilen Mesajlar:
    0
    peki kategori tablonu bizlerle paylaşırmısın ?
     
  7. shumaf

    shumaf Üye

    Kayıt:
    3 Mart 2007
    Mesajlar:
    47
    Beğenilen Mesajlar:
    0
    PHP:
    CREATE TABLE `kategoriler` (
      `
    kat_idint(10unsigned NOT NULL auto_increment,
      `
    kategoritext NOT NULL,
      
    PRIMARY KEY  (`kat_id`),
      
    UNIQUE KEY `id` (`kat_id`),
      
    KEY `id_2` (`kat_id`),
      
    FULLTEXT KEY `kategori` (`kategori`)
    ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Kategori Tablosu' AUTO_INCREMENT=1132121 ;
     
  8. Setting_By

    Setting_By Üye

    Kayıt:
    16 Mart 2008
    Mesajlar:
    89
    Beğenilen Mesajlar:
    0
    Şuan Hiç br şey anlamış degilim :D sen sitede sadece kategorimi açıon ? yani herhangi haber yazı gibi kötü bir alışkanlığın yok sanırım :D
     
  9. shumaf

    shumaf Üye

    Kayıt:
    3 Mart 2007
    Mesajlar:
    47
    Beğenilen Mesajlar:
    0

    evet ve full text olayı sonuç döndürmüyor :s006: daha kategori tablosunda arama yaptıramadıktan sonra haberi yazıyı napacam:p

    Elinde fulltext ile ilgili örnek varsa gönderebilirmisin? sen beni anlamasamda ben seni anlarım yada ben sana anlatamasamda sen bana anlatırsın :)
     
  10. Setting_By

    Setting_By Üye

    Kayıt:
    16 Mart 2008
    Mesajlar:
    89
    Beğenilen Mesajlar:
    0
  11. shumaf

    shumaf Üye

    Kayıt:
    3 Mart 2007
    Mesajlar:
    47
    Beğenilen Mesajlar:
    0