Esto es lo que quiero hacer:¿La mejor manera de hacer una búsqueda ponderada en múltiples campos en mysql?
- partido de una búsqueda sujeto frente a múltiples campos de mi mesa
- fin los resultados por importancia del campo y la pertinencia del juego (en ese orden)
Ej .: supongamos que tengo un blog. Entonces alguien busca "php". Los resultados aparecerían de esa manera:
- en primer lugar, los resultados para el campo 'título', ordenadas por relevancia
- a continuación, los resultados para el campo 'cuerpo', ordenadas por relevancia demasiado
- y así con los campos especificados ...
De hecho, hice esto con una clase en PHP pero usa muchos SINDICATOS (¡muchos!) y crece con el tamaño del tema de búsqueda. Así que estoy preocupado por el rendimiento y los problemas de DOS. ¿Alguien tiene una pista sobre esto?
me gusta este enfoque! ¿Puedes explicarme qué está pasando en las FI antes del FROM? no me utilizan con las querys complejas =/ –
Básicamente es una función IF, si la condición (primer argumento) es verdadera, se usará el segundo argumento (el peso); de lo contrario, se usará un tercer argumento (0-peso). El manual tiene todos los detalles: http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html#function_if – hakre
¡eso es muy bueno! entonces, si aparece en el nombre (no al comienzo), la descripción y la URL, obtendrá un peso de 16? (10 + 5 + 1) –