Might I suggest something simpler? Add a keywords field which will contain the key terms from each field. Arrange the terms in the order of importance. This would (of course) be a judgement call of a human who enters the course data, but it is cheap and easy way of "indexing" your data.
Your query would be against the keyword field, and depending upon the postition of the word in that field would give you the relevancy (or approximation of it).
I am not sure of the exact SQL statement, but it would involve selecting the strpos() INTO an array variable that holds the position of the search term in the keyword field, then doing a sort on that array.
|