php mysql порядок полнотекстового поиска по релевантности - PullRequest
0 голосов
/ 29 августа 2011

Как сделать порядок полнотекстового поиска php по релевантности?

SELECT * FROM table
WHERE MATCH (col1,col2,col3) 
AGAINST ('+$boolean' IN BOOLEAN MODE)
Order By relevance

Я хочу установить релевантность, сначала должно соответствовать col1, col2, затем - col3, для большего количества слов, если col1, col2 закончено, затем введите col3.

Может быть, мне следует установить процент, например col1, col2 с релевантностью 66% и col3 с релевантностью 34% ...

1 Ответ

1 голос
/ 29 августа 2011

Вы можете попробовать что-то вроде этого:

SELECT *, (MATCH(col1, col2) AGAINST('+$boolean' IN BOOLEAN MODE) * 0.66 + MATCH(col3) AGAINST('+$boolean' IN BOOLEAN MODE) * 0.34) AS relevance
FROM table
WHERE MATCH(col1, col2, col3) AGAINST ('+$boolean' IN BOOLEAN MODE)
ORDER BY relevance DESC
...