¿Obtiene primero las coincidencias EXACTAS de la búsqueda de texto completo?

Estoy usando el siguiente código, por ejemplo:

SELECT *, (MATCH (`wm`, `locn`, `gns`) AGAINST('foot locker')) AS score FROM `example_table` WHERE MATCH (`wm`, `locn`, `gns`) AGAINST('foot locker')) order by score DESC;

Sin embargo, aunque existen coincidencias EXACTAS en el wm columna, la coincidencia EXACTA no aparece hasta el octavo resultado. Los que están delante de todo esto también tienen la frase, pero también un texto siguiente. Revisé el locn, gns campos para ver cómo se comparan y no hay nada que realmente destaque que debería hacer que los demás obtengan una puntuación más alta.

Leí un poco sobre el uso BOOLEAN MODE pero nada de lo que leí allí parecía ayudar a mis necesidades.

preguntado el 27 de agosto de 11 a las 22:08

1 Respuestas

Ok, si esto ayuda a alguien más, pude lograr lo que quería haciendo esto:

SELECT *, 
  CASE WHEN wm = 'foot locker' THEN 1 ELSE 0 END AS score, 
  MATCH (`wm`, `locn`, `gns`) AGAINST('foot locker') AS score2 
FROM 
  `example_table` 
WHERE 
  MATCH (`wm`, `locn`, `gns`) AGAINST('foot locker')) 
ORDER BY
  score DESC, score2 DESC;

Respondido el 30 de diciembre de 14 a las 15:12

esta consulta me salvó el día - Ali Selcuk

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.