SQL Server の全文検索で使用されるランキングに問題があります。
ユーザーが「foo bar」という 2 つの単語を検索するとします。ユーザーが OR 検索を行うことを想定しているため、「foo OR bar」を CONTAINSTABLE 呼び出しに渡します。私たちが見つけたのは、「foo」を 10 回含むが「bar」を含まない行は、「foo」と「bar」の両方を含む行よりもはるかに高いランクになるということです。両方の用語を含む行を、1 つの用語のみを複数回含む行よりも優先する必要があります。これを達成する方法について何かアドバイスはありますか?
RANKMETHOD 修飾子に関連するドキュメントを見つけましたが、これは SQL Enterprise 検索専用のようで、通常の SQL Server 2005 インストールでは利用できません。Lucene.Net に切り替えることもできますが、より良いランキングが利用できることを確認したいと考えています。複数の検索を行って結果をマージすることもできますが、検索される単語の数が増えると望ましくないように思えます。