Ver Mensaje Individual
  #5 (permalink)  
Antiguo 12/09/2011, 16:29
potoka
 
Fecha de Ingreso: octubre-2009
Mensajes: 107
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Buscador óptimo

Cita:
Iniciado por winderj90 Ver Mensaje
Bueno la manera q veo de hacerlo mas optimo es asi:
si buscar x autor: autor='$autor%' --Para que te traiga algo mas concreto
x titulo: titulo='%$titulo% -- Asi te traera todo lo q pongan.

El codigo que daria asi:
Código:
SELECT * FROM libros WHERE autor like '".$a_buscar."%' or seg_autor like '%".$a_buscar."%' or resto_a like '%".$a_buscar."%'

Tambien podrias poner las opciones en un select, es decir, autor y titulo para q asi busques en los campos que elijan xq como esta el codigo si pones una "A" te la buscara en los 3 campos y te traera todas las "A" q consiga en los 3 campos y es x eso q dices q a veces te trae cosas q no tiene nada q ver.

Prueba con el codigo q te puse sino has como te dije despues y asi sera mas especifico a la hora de buscar... Cualquier duda me avisas...
Hola nuevamente! te cuento que el ejemplo que puse en el reply anterior sobre el caso que no me encuentra nada es con el título de un libro y, lo probé de varias maneras, por lo que claramente hay un problema con más de una palabra (por eso al comienzo había usado índices fulltext, pero tampoco se como optimizar dichas consultas).
El buscador consiste en búsqueda normal: donde uno pone algo y te busca por cualquier criterio o campo, digamos; y búsqueda avanzada: donde ahí sí elijen por autor, titulo, etc y es más específica.
Sucede que varias personas están utilizando la búsqueda general y es por esto que el buscador debería mostrar resultados sino pareciera como si un producto no se encuentra y no es así.

Leyendo encontré que recomiendan que detecte cuántas palabras ingresa la persona y, si es una sola que lo haga mediante like, si son más de una mediante índices fulltext (pero el problema en este caso es que me da resultados por demás y busca que coincide hasta en las preposiciones: de, para, etc..., entonces me arroja excesivos resultados que no tienen que ver salvo en algún "de" -por ejemplo- y tampoco puedo limitar la consulta porque varía el nro. de resutlados que realmente son útiles).

Bueno, perdón que me extendí escribiendo, gracias nuevamente por intentar ayudarme. Ojalá con todo esto que estoy comentando, podamos encontrar la solución a mi problema. Saludos!!