您好我有2个以下2个查询:
SELECT FT_TBL.JobId, FT_TBL.Title, FT_TBL.[Description],
FT_TBL.Location, KEY_TBL.RANK FROM Jobs AS FT_TBL
INNER JOIN FREETEXTTABLE (Jobs, (Title, [Description], Location),
'asp.net software')
AS KEY_TBL on FT_TBL.JobId = KEY_TBL.[KEY]
WHERE CONTAINS (Location, '"luton*"')
order by KEY_TBL.RANK desc;
和
SELECT FT_TBL.JobId, FT_TBL.Title, FT_TBL.[Description],
FT_TBL.Location, KEY_TBL.RANK FROM Jobs AS FT_TBL
INNER JOIN FREETEXTTABLE (Jobs, (Title, [Description], Location),
'asp.net software', 100)
AS KEY_TBL on FT_TBL.JobId = KEY_TBL.[KEY]
WHERE CONTAINS (Location, '"luton*"')
order by KEY_TBL.RANK desc;
唯一的区别是第二个将top_n_by_rank参数设置为100,第一个返回1000+结果,我认为第二个将返回100,但它返回0结果,为什么会这样?我应该如何更改top_n_by_rank参数以确保我只获得最佳结果?
答案 0 :(得分:0)
前100个结果可能与"luton*
不匹配,并被WHERE子句过滤掉。