在MS SQL全文搜索中,我在查询中使用ISABOUT。
例如,这应该返回前{10} ProductIDs
(PK)RANK
表中的ProductDetails
字段
SELECT *
FROM CONTAINSTABLE( ProductDetails, *, ISABOUT("Nikon" WEIGHT (1.0), "Cameras" Weight(0.9)), 10 )
但是,根据SQL Documentation ISABOUT
已弃用。
所以,我有两个问题:
ISABOUT
被替换为什么?SQL Command
吗? (IOW,只是把搜索短语'尼康相机'变得更好?)我最初试图在这里完成的是将第一个单词加权最高,然后加第二个单词降低,然后继续下降到0.5,我将其余单词排在0.5。
我的逻辑(也许是有缺陷的)是人们最相关的搜索词通常发生在短语的开头附近(英文)。
谢谢大家的时间......
答案 0 :(得分:6)
上面的链接指的是企业级搜索,但对于SQL Server全文搜索,仍然支持ISABOUT作为CONTAINS谓词和CONTAINSTABLE函数的一部分。
a post to the MSDN SQL Server Search论坛也讨论了这个问题。
答案 1 :(得分:2)
ISABOUT
为您的单词添加自定义权重,这有助于对返回的文档进行排名。对于CONTAINS()
,它没有进行任何排名,这种形式没有影响。