Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

busquedas con "quizas quiso decir"

Estas en el tema de busquedas con "quizas quiso decir" en el foro de Bases de Datos General en Foros del Web. Saludos. Me gustaría saber cómo se hacen las búsquedas en una base de datos mysql en las que te sugieren lo que en realidad quieres ...
  #1 (permalink)  
Antiguo 20/07/2005, 02:23
oom
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santiago de Compostela
Mensajes: 61
Antigüedad: 20 años, 7 meses
Puntos: 0
Busqueda busquedas con "quizas quiso decir"

Saludos.
Me gustaría saber cómo se hacen las búsquedas en una base de datos mysql en las que te sugieren lo que en realidad quieres decir (al estilo google). Por ejemplo, el que busque por "ordeanores", que le aparezca "quizas quiso decir ordenadores".
Existe alguna función específica?, algun método, algoritmo o recurso para hacerlo?
  #2 (permalink)  
Antiguo 20/07/2005, 16:10
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 20 años, 9 meses
Puntos: 0
La única manera que se me ocurre para hacer eso es comparar la palabra introducida con un diccionario, si la palabra aparece en el diccionario se realiza la búsqueda tal cual, si no aparece se escoge la palabra más parecida, se informa al usuario de que 'Quizás quiso decir...' y se realiza la búsqueda con esa palabra...

Salud.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)
  #3 (permalink)  
Antiguo 21/07/2005, 00:31
oom
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santiago de Compostela
Mensajes: 61
Antigüedad: 20 años, 7 meses
Puntos: 0
Ahá. La duda que tengo es cómo se puede encontrar la palabra más parecida en un diccionario, cómo se realiza esa consulta
  #4 (permalink)  
Antiguo 21/07/2005, 04:06
 
Fecha de Ingreso: agosto-2002
Mensajes: 230
Antigüedad: 21 años, 8 meses
Puntos: 1
tendrías que hacer una función que comparase la búsqueda con tu tabla de diccionario y devolviese un valor de similitud, ¿maneras de hacerlo?todas las que tú quieras, te pongo un par de ideas:

- comparar las palabras letra a letra y si coincide sumo 1 por cada letra que coincida y sino no sumo nada, la que tenga un mayor valor será la que más se parezca

- por la distribución del teclado, esta es más complicada ya que de alguna manera (supongo que con una matriz) deberías mantener la distribución del teclado y relizar las comprobaciones de similitud de una letra con otra en función de la cercania en el teclado

y probablemente al final lo mejor sería una mezcla de varias soluciones
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 11:45.