Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Dê a alguns campos mais relevância e classifique por relevância na pesquisa de texto completo do mysql


Primeiro, crie três índices FULLTEXT:
* one on the title column
* one on the body column
* one on both title and body columns

Em seguida, crie sua consulta da seguinte maneira:
SELECT field1, field2, field3, title, body,
MATCH (title) AGAINST ('word_to_search') AS rel_title,
MATCH (body) AGAINST ('word_to_search') AS rel_body
FROM table_to_use
WHERE MATCH (title,body) AGAINST ('word_to_search')
ORDER BY (rel_title*2)+(rel_body)

Isso dará ao título 2 vezes mais relevância do que o corpo.

Isso é bastante útil quando você precisa permitir que o conteúdo seja classificado, por exemplo, por tags (que não são visualizadas pelos usuários) porque permite ajustar os resultados nos bastidores.