我在SQL Server中使用全文搜索所使用的排名存在一些问题.
假设用户搜索两个单词"foo bar".我们假设用户打算进行OR搜索,因此我们将"foo OR bar"传递给我们的CONTAINSTABLE调用.我们发现的是,包含"foo"10次但不包含"bar"的行将具有更高的等级,然后是具有"foo"和"bar"的行.我们希望将具有两个术语的行优先于仅具有多个术语多次的行.有关如何实现这一目标的任何建议?
我找到了与RANKMETHOD修饰符相关的文档,但这似乎仅适用于SQL Enterprise搜索,而不适用于常规SQL Server 2005安装.我们也可以切换到Lucene.Net,但我希望验证它有更好的排名.我们也可能会进行多次搜索并合并结果,但随着搜索的字数增加,这似乎是不可取的.