Foros del Web » Programando para Internet » PHP »

PHP mysql Buscador de palabras aproximadas

Estas en el tema de PHP mysql Buscador de palabras aproximadas en el foro de PHP en Foros del Web. Hola, desarrolle un buscador en PHP, el problema es que busca las palabras exactas. Por ejemplo si en la DB esta la palabra "comunicación" y ...
  #1 (permalink)  
Antiguo 11/05/2010, 14:25
 
Fecha de Ingreso: mayo-2010
Mensajes: 2
Antigüedad: 9 años, 9 meses
Puntos: 0
PHP mysql Buscador de palabras aproximadas

Hola, desarrolle un buscador en PHP, el problema es que busca las palabras exactas.

Por ejemplo si en la DB esta la palabra "comunicación" y el usuario busca "comunicacion" (sin acento) no devuelve ningun resultado!!!

Igual supungo que sucedera con otras palabras...

Lo que necesito saber es de que forma puedo programar un script en php que si no encuentra la palabra exacta opte por mostrar el registro donde aparezca una palabra similar.

El codigo que ahora utilizo es el siguiente:
Código PHP:
$resultados mysql_query("SELECT * FROM tabla WHERE detalles LIKE '%$buscar%'"); 
Nota: no puedo utilizar MATCH AGAINST por que aparentemente mi mysql es una versión vieja...

Gracias!
  #2 (permalink)  
Antiguo 11/05/2010, 14:36
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 10 años, 4 meses
Puntos: 334
Respuesta: PHP mysql Buscador de palabras aproximadas

podrias filtrar los acentos y esas cosas antes de iniciar la busqueda?
podrias ser algo como

Código PHP:
Ver original
  1. preg_replace("@[^\w\s-]@", "%", $palabras);

asi todo lo que no sean espacios, letras numeros y guiones .. se reemplazaran por el comodin de sql %.. asi la busqueda sera por ejemplo

acción
acci%n y hara match con accion y acción

saludos
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 12/05/2010, 12:38
 
Fecha de Ingreso: mayo-2010
Mensajes: 2
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: PHP mysql Buscador de palabras aproximadas

Muchisimas gracias!!!!

Etiquetas: mysql, palabras, buscadores
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 17:00.