random degilde sıralı cıkması için
$result = $db->query("SELECT DISTINCT tag FROM " . PREFIX . "_search ORDER BY id DESC LIMIT 0,{$limit}");
desc yazarsan en son eklenen en üste cıkar tabi tag tablonda eger id diye bir kolon yoksa ORDER BY id DESC silersin
diger sorunu anladım kadarı ile mesela 3 karakterden aşşagı harf girilirse arama yapmasın
bunun için de
 $uzunluk=strlen($metin); kullanırsın 
if( $uzunluk<3){

echo '3 karakterden az girme';
exix();
}