Melhor maneira de fazer uma pesquisa ponderada em vários campos no mysql?

Aqui está o que eu quero fazer:

match um assunto de pesquisa em vários campos da minha tabela ordenar os resultados por importância do campo e relevância da correspondência (nessa ordem)

Ex: vamos supor que eu tenho um blog. Então alguém procura por "php". Os resultados apareceriam assim:

first, as correspondências para o campo 'title', ordenadas por relevânciathen, as correspondências para o campo 'body', também ordenadas por relevância e assim por diante com os campos especificados ...

Na verdade, eu fiz isso com uma classe em PHP, mas ele usa muitas UNIONS (muito!) E cresce com o tamanho do assunto da pesquisa. Então, eu estou preocupado com problemas de desempenho e DOS. Alguém tem alguma pista disso?

questionAnswers(5)

yourAnswerToTheQuestion