标签: isabout

SQL Server,ISABOUT,加权术语

我试图弄清楚加密术语在SQL SERVER中的ISABOUT查询中的确切工作方式.这是我目前所处的位置:

每个查询都返回以下行:

QUERY 1(重量1): 初始排名

SELECT * FROM CONTAINSTABLE(documentParts, title, 'ISABOUT ("e" weight (1) ) ') ORDER BY RANK DESC, [KEY]

KEY     RANK
306342  249
272619  156
221557  114
Run Code Online (Sandbox Code Playgroud)

QUERY 2(权重0.8): 排名增加,保留初始订单

SELECT * FROM CONTAINSTABLE(documentParts, title, 'ISABOUT ("e" weight (0.8) ) ') ORDER BY RANK DESC, [KEY]

 KEY     RANK
 306342  321
 272619  201
 221557  146
Run Code Online (Sandbox Code Playgroud)

QUERY 3(权重0.2): 排名增加,保留初始订单

SELECT * FROM CONTAINSTABLE(documentParts, title, 'ISABOUT ("e" weight (0.2) ) ') ORDER BY RANK DESC, [KEY]

 KEY    RANK
 306342 998 …
Run Code Online (Sandbox Code Playgroud)

sql sql-server full-text-search containstable isabout

8
推荐指数
2
解决办法
6201
查看次数

SQL关键字"ISABOUT"[不推荐使用?]应该替换为什么?

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

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

SELECT * 
FROM CONTAINSTABLE( ProductDetails, *, ISABOUT("Nikon" WEIGHT (1.0), "Cameras" Weight(0.9)), 10 )
Run Code Online (Sandbox Code Playgroud)

但是,根据SQL文档 ISABOUT不推荐使用.

所以,我有两个问题:

  1. 什么ISABOUT被替换?
  2. 我还需要额外的SQL Command吗?(IOW,只是把搜索短语"尼康相机"变得更好?)

我原本试图在这里完成的是将第一个单词加权最高,然后加第二个单词降低,然后继续降低到0.5,我将其余单词排在0.5.

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

  • 我是以错误的方式来做这件事的吗?
  • 有没有更好的办法?
  • 我问了太多问题吗?(^_^)

谢谢大家的时间......

sql sql-server full-text-search deprecated isabout

4
推荐指数
1
解决办法
3660
查看次数