Foros del Web » Programando para Internet » PHP »

relevancia de resultados

Estas en el tema de relevancia de resultados en el foro de PHP en Foros del Web. Hola, Pues mi pregunta es esa, como se le da relevancia a los resultados extraidos de una consulta de mysql?, es decir, tengo un listado ...
  #1 (permalink)  
Antiguo 11/04/2012, 15:34
 
Fecha de Ingreso: agosto-2008
Ubicación: Miami, FL
Mensajes: 210
Antigüedad: 15 años, 7 meses
Puntos: 2
Pregunta relevancia de resultados

Hola,
Pues mi pregunta es esa, como se le da relevancia a los resultados extraidos de una consulta de mysql?, es decir, tengo un listado de clientes, pero uno me cae mejor que el otro y quiero que salga Adriano antes que Adrian, por orden mysql me muestra Adrian y luego Adriano y quiero que solo Adriano salga resaltado en por ejemplo en negrita.

Le estoy dando vueltas pero no se como se pudiera hacer...

Cualquier aporte sera agradecido...
__________________
Se invierte mas dinero en cirugía de pechos y viagra que en la cura del Alzheimer. En unos años tendremos viejas con grandes tetas y viejos con erecciones pero que no recordarán para que sirven..
  #2 (permalink)  
Antiguo 11/04/2012, 16:24
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: relevancia de resultados

Bueno personalmente yo le pusiera un campo de orden
Y luego ordeno los registro mediante ese campo.

Código SQL:
Ver original
  1. SELECT * FROM clientes ORDER BY orden ASC
  #3 (permalink)  
Antiguo 11/04/2012, 17:08
Avatar de unreal4u  
Fecha de Ingreso: octubre-2008
Mensajes: 72
Antigüedad: 15 años, 5 meses
Puntos: 10
Respuesta: relevancia de resultados

tendrías que implementar un algoritmo tu mismo (ocupando Levenshtein por ejemplo) para sortear en base a argumentos que tu consideres son más importantes o bien usar algún motor prehecho como Sphinx, Lucene, Xapian o Hyper Estraier pero en algún punto (exceptuando Hyper Estraier) tendrás que meterle mano al sorteo de resultados. El más fácil de ocupar es Lucene y tb ordena los resultados predeterminadamente de menos a más, o sea, si busco por Adrian primero me entregará Adrian y después Adriano, ya que Adrian está más cerca de la consulta inicial que Adriano. Sin embargo, lo más probable es que ambos reciban score de 100%, y en ese caso, podrás aplicar un array_reverse a los resultados que tengan el mismo score, y ahí te mostrará Adriano primero y Adrian después.

Si quieres algo más simple, sortea en MySQL de forma descendiente pero no es algo fácilmente personalizable, lo que te mencioné arriba sí lo es ;)

Saludos.
  #4 (permalink)  
Antiguo 11/04/2012, 17:43
Avatar de zalito12  
Fecha de Ingreso: noviembre-2011
Ubicación: Coruña, España
Mensajes: 430
Antigüedad: 12 años, 5 meses
Puntos: 67
Respuesta: relevancia de resultados

También depende del tipo de tabla, las tablas Inodb admiten ordenar por relevancia (mathc)
  #5 (permalink)  
Antiguo 12/04/2012, 13:06
 
Fecha de Ingreso: agosto-2008
Ubicación: Miami, FL
Mensajes: 210
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: relevancia de resultados

pfff... me han matado...

gjx2: algo así había pensado pero no solo el campo si no que tambien habrá que poner un valor a cada cliente para que uno sea mayor que otro... lo voy a estudiar.

unreal4u: me imagino que lo tuyo es lo lógico a hacer, pero para mi es chino puro (digo chino por que hablo algo de mandarín :), lo veo un poco complicado mas que nada por que necesito la web funcionando lo antes posible y me tendría que poner a aprender algo que no tengo ni idea. )

zalito12: eso también me ha gustado, algún link o ejemplito simple por ahi?

la web que estoy haciendo es esta:

abogadoenlaflorida.com/prueba/

donde sale la lista de abogados y como algunos pagan por salir primero en el listado necesito algún modo de darles relevancia.

Gracias por el tiempo prestado.
__________________
Se invierte mas dinero en cirugía de pechos y viagra que en la cura del Alzheimer. En unos años tendremos viejas con grandes tetas y viejos con erecciones pero que no recordarán para que sirven..
  #6 (permalink)  
Antiguo 12/04/2012, 14:51
Avatar de zalito12  
Fecha de Ingreso: noviembre-2011
Ubicación: Coruña, España
Mensajes: 430
Antigüedad: 12 años, 5 meses
Puntos: 67
Respuesta: relevancia de resultados

Bueno, si lo que quieres es que al buscar y coincida con alguno de los patrocinados que pagan yo añadiria un campo en la tbala, preferencia o pagado o como quieras y pondría 1 si ha pagado por salir primero y 0 si no han pagado.
Luego la consulta la ordenaria por ese campo DESC

Etiquetas: php+bd+mysql
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 00:51.