Ver Mensaje Individual
  #10 (permalink)  
Antiguo 01/04/2013, 17:15
Avatar de dashtrash
dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: Ordenar registros por distancia PHP y MySQL

Cita:
Iniciado por Naica Ver Mensaje
Claro, les explico mejor:

Hagamos de cuenta que soy un usuario, y quiero buscar "Recetas de cocina", los resultados que deberian aparecerme son:

Recetas de cocina
2º Todo sobre recetas de cocina
3º Carnes, pescados, frutas y distintas recetas de cocina


Intento que aparezcan primero los resultados que contengan la palabra buscada más cerca del inicio del texto,
Cuando dices "deberían", es porque es un requisito que tienes, o porque crees que eso es lo que refleja un buen resultado?
Si es el segundo caso...creo que lo tendrías que volver a pensar.
Qué diferencia hay entre:
1º Recetas de cocina variadas, carnes, pescados y frutas.
y
2º Carnes, pescados, frutas y distintas recetas de cocina
?
A nivel de relevancia, son equivalentes.
Con el conjunto de ejemplos que has puesto, hay otro criterio para ordenar esas frases de esa forma: el primer ejemplo, con respecto a la cadena de búsqueda, la coincidencia es del 100%..o sea..la longitud de la cadena de búsqueda coincide con la longitud del caso 1.El conjunto de ejemplos que pones se puede ordenar comparando la longitud de la cadena de búsqueda con la longitud del posible match.Una definición más exacta sería la distancia en palabras, más que en caracteres, pero quizás complicaría el algoritmo.