【发布时间】:2012-05-02 19:21:51
【问题描述】:
我正在尝试为我的网站创建字典。 使用 FREETEXTTable 和 Rank DESC 搜索“服务器”返回:
- 名称服务器 - 映射人类可读名称的程序或服务器..
- 服务器 - 服务的人;女服务员或服务员。
- server - 一个盘子;一个托盘。 4...
'server' 显然比'name server' 更接近'server'。如何确定排名?
我不能只反转到 ASC,因为还有更糟糕的匹配。 “上帝”的前 3 个结果是“上帝的行为”、“上帝的羔羊”、“上帝”..
编辑:很抱歉有任何混淆。 nameserver、server、server.. 位于一个名为“word”的列中,这是通过全文搜索查询的列。定义在下一列“定义”中并作为查询结果返回。
【问题讨论】:
-
我的猜测是 1 包含服务器两次。也许您可以将全文索引限制在第 1 列。
-
感谢这是一个好主意,我使用了 FREETEXTTABLE(Dictionary, word, @0, 20)。这是否足以将索引限制为“单词”列而不是表中的定义列。
标签: sql sql-server dictionary full-text-search ranking