Foros del Web » Programando para Internet » PHP »

necesito que me aclaren duda sobre buscador del tipo MATCH() AGAINST() IN BOOLEAN MOD

Estas en el tema de necesito que me aclaren duda sobre buscador del tipo MATCH() AGAINST() IN BOOLEAN MOD en el foro de PHP en Foros del Web. hola gentes, he hecho un buscador, y creanme, me ha sido lo mas facil del mundo, pero por que? pues por que lo hice justo ...
  #1 (permalink)  
Antiguo 19/10/2007, 08:07
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
necesito que me aclaren duda sobre buscador del tipo MATCH() AGAINST() IN BOOLEAN MOD

hola gentes, he hecho un buscador, y creanme, me ha sido lo mas facil del mundo, pero por que? pues por que lo hice justo mirando como indica el manual de mysql aqui.
bueno mi duda es, por que cuando busco palabras de tras caracteres por ejemplo php, no me devuelve nada? es que este tipo de busqueda es asi, escapa a las palabras cortas?
les cuento mas, no soy yo el unico que tienes este problema, he estado mirando y me encontre que en http://www.baluart.net/ pasa lo mismo , si hago una busqueda por la palabra php, no devuelve nada, sin embargo si tienen muchos articulos sobre php, por que pasa eso? hay forma de arreglarlo?
aqui les dejo todo el codigo, pero no creo que esa sea la razon de lo que pasa:
Código PHP:
<?php
        $buscar 
mysql_query("SELECT entrada_ID, titulo, entrada, estado FROM entradas WHERE MATCH (titulo, entrada) AGAINST ('*"$_GET['buscar'] ."*' IN BOOLEAN MODE) AND estado = '1'"$db_link) or die(mysql_error());
        
$resultados mysql_num_rows($buscar);

        if(!empty(
$resultados)){
            echo 
"<div class='cuadro'>Su busqueda arrojo <strong>$resultados</strong> resultados para <strong class='u'>"$_GET['buscar'] ."</strong> en <strong>"$crono->stop(true3) ."</strong> segundos.</div>";
            while(
$result mysql_fetch_assoc($buscar)){
                echo 
"<div class='entrada'><h3><a href='index.php?mod=entrada&amp;entrada_ID=$result[entrada_ID]'>$result[titulo]</a></h3>";
                echo 
substr($result['entrada'],0,255);
                echo 
" ...</div>";
            }
        }else{
            if(empty(
$_GET['buscar'])){
                
$errormsg "Debe introducir una palabra o frase.";
            }else{
                
$errormsg "Su busqueda no arrojo resultados para <span class='u'>"$_GET['buscar'] ."</span>.";
            }
            echo 
"<div class='cuadro'><strong>$errormsg</strong></div>";
        }
        
?>
saludos y gracias de antemano

EDITO: el titulo original deberia ser MATCH() AGAINST() IN BOOLEAN MODE, pero parece que me pase de caracteres
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #2 (permalink)  
Antiguo 19/10/2007, 08:28
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: necesito que me aclaren duda sobre buscador del tipo MATCH() AGAINST() IN BOOLEAN

En el mismo manual, en 12.7.4. Afinar búsquedas de texto completo (Full-Text) con MySQL dice:

Cita:
La longitud mínima y máxima de las palabras a indexar se definen con las variables de sistema ft_min_word_len y ft_max_word_len . (Consulte Sección 5.3.3, “Variables de sistema del servidor”.) El valor por defecto mínimo es de cuatro carácteres; el valor máximo por defecto depende de la versión de MySQL que use. Si cambia algún valor, debe rehacer los índices FULLTEXT.
  #3 (permalink)  
Antiguo 19/10/2007, 09:36
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
Re: necesito que me aclaren duda sobre buscador del tipo MATCH() AGAINST() IN BOOLEAN

gracias Seppo, como bien dices, hay que leer el manual

saludos y suerte
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:16.