Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/01/2016, 06:35
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: consulta sql para buscador interno

Cita:
Iniciado por minombreesmm Ver Mensaje
veran, uso el like '%busqueda%' pero eso me arroja cualquier tema que contenga la busqueda exacta
osea si pongo '%a%'
me va a listar todos los temas que he hecho por que todos tienen la letra a en su contenido.
que instruccion deberia usar para hacer un listado mas o menos asi como google?
donde solo me aparezca lo relevante de la letra a, o del tema, en vez de que me salga donde esta ese caracter..
de antemano gracias
Bueno, vamos a hacer un par de definiciones:
1) LIKE es para buscar patrones, no relevancias. Y usarlo con los comodines a ambos lados, además de de no permitir bsucar lo relevane resulta espantosamente ineficiente, ya que genera FULL TABLE SCAN en cualquier DBMS.
2) Para realizar busquedas por relevancia, primero debes determinar a qué le llamas "relevante". No hay un único criterio. Lo que tu consideres relevante puede no serlo para los criterios de otro buscador.
3) Cuando se habla de búsquedas por relevancia, a nivel de SQL, se está hablando de búsquedas basadas en expresiones regulares, donde lo relevante puede ser a) Donde más veces a parece, o b) donde menos veces aparece. Lo primero porque es donde más "hay", lo segundo es para evitar muchos resultados sin importancia (datos basura).
4) Google, como muchos otros motores de búsqueda, trabaja en forma estadística. No solo analiza las búsquedas de todo el mundo,sino además las que tu mismo haces... Por ende las sugerencias o resultados de "relevancia" están basados en búsquedas previas. No en búsquedas únicas al azar.

Dicho esto, la conclusión es simple: No puedes basar la relevancia solamente en cosas que hagas en una query de SQL.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)