【发布时间】:2010-09-19 16:18:42
【问题描述】:
我在 SQL Server 中全文搜索使用的排名存在一些问题。
假设用户搜索两个词“foo bar”。我们假设用户打算进行 OR 搜索,所以我们将“foo OR bar”传递给我们的 CONTAINSTABLE 调用。我们发现,包含 10 次“foo”但不包含“bar”的行的排名将比同时包含“foo”和“bar”的行高得多。 我们希望具有这两个术语的行优先于仅具有一个术语的行多次。关于如何实现这一点的任何建议?
我找到了与 RANKMETHOD 修饰符相关的文档,但这似乎仅适用于 SQL Enterprise 搜索,不适用于常规 SQL Server 2005 安装。我们也可以切换到 Lucene.Net,但我希望验证它有更好的可用排名。我们也可以进行多次搜索并合并结果,但随着搜索字数的增加,这似乎是不可取的。
【问题讨论】:
标签: sql-server full-text-search