Cuando se habla de "relevancia ", realmente desea la búsqueda en lenguaje natural, que es compatible con MySQL full-text searches. La sintaxis es diferente a la normal como consultas, y debe agregar un índice especial a la tabla, pero el orden por relevancia es posible de esta manera.
Así es como MySQL calcula relevancia (desde el enlace):
Cuando se utiliza match() en una cláusula WHERE, como en el ejemplo mostrado anteriormente, las filas devueltas se clasifican automáticamente con la más alta relevancia primera . Los valores de relevancia son números de punto flotante no negativos. Cero relevancia significa que no hay similitud. La relevancia se calcula en función del número de palabras en la fila, el número de palabras únicas en esa fila, el número total de palabras en la colección y el número de documentos (filas) que contienen una palabra en particular.
Para create a full-text index on an existing table, utilice el FULLTEXT modificador:
CREATE FULLTEXT INDEX index_name
ON table_name (col1, col2, col3)
continuación, puede realizar una consulta como esta para recuperar los resultados en orden de relevancia:
SELECT * FROM table_name
WHERE MATCH (col1,col2,col3)
AGAINST ('keyword' IN NATURAL LANGUAGE MODE);
Por "más relevante" , ¿quiere decir que una coincidencia en 'col_1' toma mayor prioridad que una coincidencia en' col_2', y así sucesivamente? – Wiseguy
¿Qué constituye los resultados más relevantes? – codewaggle
¿quisiste decir "filtrar" en lugar de "ordenar"? – Sebas