I'm developing a search engine for my company. We're using SQL Server 2000. Granted, using FreeText is an option. One we plan to utilize.

We have some more specific text searches where we are not going to use FreeText. I am going to have to build the engine myself.

Given a field and a searched value, what are some good algorithms to rank the results I've returned?

I've been told many people use the number of word occurence to rank result. I've been told position of the word. I've been told exact word matches come first.

All of these sound good. Anyone got any routines that use any multiples of these?

Any help is greatly appreciated.
Thanx in advance.