Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/06/2010, 16:49
Avatar de xarmagedonx
xarmagedonx
 
Fecha de Ingreso: marzo-2009
Mensajes: 360
Antigüedad: 15 años, 8 meses
Puntos: 29
Aumentar velocidad de mi buscador interno

Hola a todos, quisiera saber si se puede aumentar la velocidad de un buscador interno.

Actualmente mi buscador interno tarda 3 segundos en encontrar una web, quisiera reducir ese tiempo a 1 seg o menos.

Si se puede tambien, quisiera saber si hay algun tutorial o alguien que me pueda decir como agregar sinonimos, por ejemplo en mi buscador interno escribo "fauna", y hay una sección y aparecen los resultados de los sitios que contienen el la descripcion o el titulo la palabra "fauna", pero no aparecen los que tienen en vez de fauna las palabras "animales" o "enciclopedia animal", "mundo animal", etc.
Quisiera que estos también aparescan en los resultados.


Muchas gracias! les dejo el codigo php del buscador:
En los datos puse ****:
Código PHP:
<?php
// conectar al servidor
$server_link mysql_connect("****""****""****");
if(!
$server_link){
    die(
"Fall&oacute; la Conexi&oacute;n "mysql_error());
}
// seleccionamos la base de datos
$db_selected mysql_select_db("****"$server_link);
if(!
$db_selected){
    die(
"No se pudo seleccionar la Base de Datos "mysql_error());
}
// varificamos que el formulario halla sido enviado
if(isset($_GET['buscar']) && $_GET['buscar'] == 'Buscar'){
    
$frase addslashes($_GET['frase']);
    
// hacemos la consulta de busqueda
    
$sqlBuscar mysql_query("SELECT noticiaTitulo, noticiaNoticia, noticiaurl,
                              MATCH (noticiaTitulo, noticiaNoticia, noticiaurl)
                              AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias
                              FROM noticias
                              WHERE MATCH (noticiaTitulo, noticiaNoticia)
                              AGAINST ('$frase' IN BOOLEAN MODE)
                              ORDER BY coincidencias DESC"
$server_link)
                              or die(
mysql_error());                              
    
$totalRows mysql_num_rows($sqlBuscar);
     
// Enviamos un mensaje
    // indicando la cantidad de resultados ($totalRows)
    // para la frase busada ($frase)
    
if(!empty($totalRows)){
        echo 
stripslashes("<p>Se encontraron <strong>$totalRows</strong> resultados para <strong>$frase</strong></p>");        
        
// mostramos los resultados
        
while($row mysql_fetch_array($sqlBuscar)){
            echo 
"<strong><a href=$row[noticiaurl]>$row[noticiaTitulo]</a></strong>";
            echo 
"<p>".substr(strip_tags($row['noticiaNoticia']), 0255)."...</p>";
        }  
    }
    
// si se ha enviado vacio el formulario
    // mostramos un mensaje del tipo Oops...!
    
elseif(empty($_GET['frase'])){
        echo 
"Debe introducir una palabra o frase.";
    }
    
// si no hay resultados
    // otro mensaje del tipo Oops...!
    
elseif($totalRows == 0){
        echo 
stripslashes("No se encontraron resultados para <strong>$frase</strong>");
    }
}
?>