4

在 MS SQL 全文搜索中,我在查询中使用了 ISABOUT。

例如,这应该返回表中ProductIDs带有RANK字段的前 10 个(PK)ProductDetails

SELECT * 
FROM CONTAINSTABLE( ProductDetails, *, ISABOUT("Nikon" WEIGHT (1.0), "Cameras" Weight(0.9)), 10 )

但是,根据SQL 文档 ISABOUT已弃用。

所以,我有两个问题:

  1. 被什么ISABOUT取代?
  2. 我还需要额外的SQL Command吗?(IOW,只输入搜索短语“尼康相机”会更好吗?)

我最初在这里尝试完成的是将第一个单词的权重最高,然后将第二个单词的权重降低,然后继续下降到 0.5,在这里我将剩余的单词排名为 0.5。

我的逻辑(也许它有缺陷)是人们最相关的搜索词通常出现在短语的开头附近(英语)。

  • 我会以错误的方式解决这个问题吗?
  • 有没有更好的办法?
  • 我问的问题太多了吗?(^_^)

谢谢大家的时间...

4

2 回答 2

6

Your link above refers to Enterprise Search, but for SQL Server full-text search, ISABOUT is still supported as part of the CONTAINS predicate and CONTAINSTABLE function.

This question was also covered in a post to the MSDN SQL Server Search forum.

于 2010-04-07T23:53:40.450 回答
2

ISABOUT为您的单词添加自定义权重,这有助于对返回的文档进行排名。因为CONTAINS(),它不做任何排名,这种形式没有影响。

于 2016-11-21T23:11:18.133 回答