Foros del Web » Programando para Internet » PHP »

Buscador en php con menor grado de precision

Estas en el tema de Buscador en php con menor grado de precision en el foro de PHP en Foros del Web. Buen dia, He visto en paginas de scripts y he usado en mi pagina buscadores en PHP y MySQL que arrojan resultados demasiado precisos. Es ...
  #1 (permalink)  
Antiguo 05/05/2007, 11:44
Avatar de MateoVasco  
Fecha de Ingreso: julio-2003
Mensajes: 132
Antigüedad: 20 años, 8 meses
Puntos: 0
Buscador en php con menor grado de precision

Buen dia,

He visto en paginas de scripts y he usado en mi pagina buscadores en PHP y MySQL que arrojan resultados demasiado precisos. Es decir, si busco "coca cola", no va a encontrar un registro que contiene la frase "yo como cola coca" debido a que esta invertido. Hay alguna forma de arreglar este problema???
  #2 (permalink)  
Antiguo 05/05/2007, 12:00
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
Re: Buscador en php con menor grado de precision

para ello usa el comando LIKE de MySQL por ejemplo

Código PHP:
mysql_query("SELECT * FROM tabla WHERE campo LIKE '%".palabra_a_buscar."%'"); 
Espero que te sirva.

Saludos.
  #3 (permalink)  
Antiguo 05/05/2007, 16:20
Avatar de MateoVasco  
Fecha de Ingreso: julio-2003
Mensajes: 132
Antigüedad: 20 años, 8 meses
Puntos: 0
Re: Buscador en php con menor grado de precision

eso lo se, el signo % es como un comodin en MySQL,

voy a poner otro ejemplo:

Si busco "enviar barranquilla" no encuentra un registro que diga "enviar a barranquilla" porque tiene una palabra en medio.

Y mucho menos va a encontrar un registro que diga "ennviar branquilla" porque tiene errores de escritura.

Miren que los buscadores web normales reconocen parte de las palabras.

Muchas gracias
  #4 (permalink)  
Antiguo 05/05/2007, 19:08
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Re: Buscador en php con menor grado de precision

Fijate si esto te sirve:
Código PHP:
<?php
$cad
='enviar barranquilla';
$regexp=implode(' | ',(explode(' ',trim($cad))));
$qry=mysql_query("SELECT * FROM `tabla` WHERE campo REGEXP '$regexp'");
?>

Última edición por Panino5001; 05/05/2007 a las 19:22
  #5 (permalink)  
Antiguo 05/05/2007, 23:41
Avatar de tozanni  
Fecha de Ingreso: mayo-2007
Ubicación: Seattle, WA
Mensajes: 62
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Buscador en php con menor grado de precision

Estimado Mateo,

Lo que requieres es utilizar un indice tipo FULLTEXT en los campos de tu tabla de MySQL, luego hacer consultas del tipo:

SELECT campos_a_mostrar FROM tabla MATCH(campo_de_busqueda1, campo_de_busqueda2) AGAINST ("coca cola")

Puedes ver mas informacion en el sitio de MySQL hispano.
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:07.