Sto costruendo il motore di ricerca di un sito e mi sono trovato davanti a questo problema:
Facendo una query simile:
Codice:
SELECT *, ROUND(MATCH (title) AGAINST ('Nome'), 1) AS attinence
FROM data
WHERE MATCH (title) AGAINST ('Nome')
ORDER BY attinence DESC
LIMIT 5
Avendo nel db un'indice di tipo FULLTEXT nel campo "title", se nel record è presente solo la parola "Nome" mi viene data un'attinenza di 6.2 (arrotondata ovviamante). Perché questo? Se la parola è uguale non dovrebbe essere un'attinenza massima dato che le parole coincidcono?
Avendo questo problema, come posso mostrare il reale valore di attinenza da una scala 1 a 10?
Grazie in anticipo