SQL Server用于全文索引的排名方法

Fra*_*man 7 sql-server full-text-search

我在SQL Server中使用全文搜索所使用的排名存在一些问题.

假设用户搜索两个单词"foo bar".我们假设用户打算进行OR搜索,因此我们将"foo OR bar"传递给我们的CONTAINSTABLE调用.我们发现的是,包含"foo"10次但不包含"bar"的行将具有更高的等级,然后是具有"foo"和"bar"的行.我们希望将具有两个术语的行优先于仅具有多个术语多次的行.有关如何实现这一目标的任何建议?

我找到了与RANKMETHOD修饰符相关的文档,但这似乎仅适用于SQL Enterprise搜索,而不适用于常规SQL Server 2005安装.我们也可以切换到Lucene.Net,但我希望验证它有更好的排名.我们也可能会进行多次搜索并合并结果,但随着搜索的字数增加,这似乎是不可取的.

Fra*_*man 1

只是为了跟进这一点..在与字符串“A或B”匹配时,包含字符串A和B的行的排名较低的原因是A与B位于不同的列中。如果我在合并的表上创建一个视图将这些列合并为一列,“A 或 B”的排名更符合我的预期。