FREETEXTTABLE返回不正确的排名结果

时间:2009-04-09 11:42:15

标签: sql sql-server freetexttable

我正在尝试修复网站搜索功能的错误,并将其分解为FREETEXTTABLE函数的问题。

我有以下查询:

SELECT * FROM dbo.SiteContentForSearch INNER JOIN FREETEXTTABLE(SiteContentForSearch, sSearchText, 'NFC' ) AS SearchResultTable 


ON dbo.SiteContentForSearch.liSearchID = SearchResultTable.[Key]

对于sSearchText列中存在“NFC”的许多行,这将返回大于0的等级。然而,(至少)有一行它返回o的等级。它有以下文字,你可以看到它包含NFC几次。有任何想法吗?

  

付款和票务非接触式   智能卡无接触的智能卡   技术正在被采用   在许多领域成功。对于   实例:零售商正在使用   非接触式智能卡支付   增加篮子大小和削减   queuesTransport运营商正在使用   非接触式智能卡(ITSO,Oyster   等)简化后端流程   并改善客户   体验活动和场地运营商   正在使用RFID腕带和   手镯有效和安全   票务和访问控制近场   通信(NFC)和移动   付款当涉及到驾驶时   移动支付市场   票务,手机技术   近场通信(NFC)可以   是答案。而NFC则没有   需要特殊的销售点非接触式   读者,NFC可以无缝连接   与现有的整合   非接触式基础设施但随着   几年后大众市场的采用,   你现在应该怎么做?使用   非接触式智能卡,NFC和   移动支付我们一直在帮助   客户改善客户   使用RFID和手机的经验   技术很长一段时间。作为一个   结果,我们可以整合所有专业   付款计划。我们可以帮忙   您:了解客户的用户   获得核心应用程序的旅程   支付和支付等权利   ticketingInnovate,例如使用   RFID标签或带数字标牌的NFC   个性化实时客户   提供构建和测试NFC应用程序   在我们的NFC框架内

干杯

史蒂夫

1 个答案:

答案 0 :(得分:3)

我目前正在处理一些FreeTextTable问题以及这个问题的明确答案:

Why or How does FREETEXTTABLE give a rank value higher then others

包含此链接

http://msdn.microsoft.com/en-us/library/ms345119%28SQL.90%29.aspx

解释了FreeTextTable如何在数学中做到这一点。特别是参考OKAPI BM25排名公式。

数学部分下面是关于排名公式问题的部分。显然,自从你提出这个问题已有16个月,但也许这个答案可以帮助其他有类似问题的人。如果你通过实现算法来解决问题和元问题,你可能会看到它可能会在哪里崩溃。

HTH(有人......)

编辑:也是这个问题的答案:

FREETEXTTABLE always has a rank of 0

包含此链接

http://msdn.microsoft.com/en-us/library/ms142524.aspx

对于上一个链接中包含的排名公式如何工作的信息,这是一个更平易近人的摘要。