[英]Limit SQLServer Full text search to top 3 releavent answer
我是SQL新手,很抱歉,如果这很简单
我在SQL中的数据是这样的
我的资料:
Content sl.no
KTUU Alaskas News Source Alaskas Top News Storm Watch Weather Politics Sports Health Business Headlines 16419
Lawn Care Business Service Providers Lawn Care Business Information Lawn Mowing Companies Lawn Care Directory 17113
Hydrophilic polyurethane foams medical consumer personal care cosmetics agricultural products Rynel 17183
Care Patient Care Product Manufacturer 17752
Bartlett Tree Experts Leader Residential Commercial Tree Care Services 17890
Safe Earth Lawn & Garden Care 17920
Carolina Outdoor Care Inc 17972
Glenwood Autism Behavioral Health us difference 17997
Mental Health North Central Alabama 18092
East Alabama Mental Health 18093
Jacksonville Mental Health 18094
Mental Health Assn-Madison Cty 18095
Baptist Health Ctr 18136
Mental Health Wellness Information Community Counseling Services 18150
Dayspring Behavioral Health 18162
Daysprings Behavioral Health 18164
Families Outpatient Mental Health Counseling Services 18167
Families Outpatient Mental Health Counseling Services 18168
Health Resources Of Arkansas 18170
Mental Health Council Of Ar 18172
如果我运行以下查询
SELECT TOP 3 * FROM TABLE_NAME where FREETEXT(content,'health care')
我得到的前三行而不是前三行更接近答案
如何获得前三个最相关的查询。
并且查询可以像上一个一样快速吗
使用FREETEXTTABLE代替FREETEXT 。 这会给你一个结果集比赛,包括Rank
,你可以订购by.Refer 这对于更深入的了解
SELECT TOP 3 RANK, [KEY]
FROM FREETEXTTABLE(TABLE_NAME,content,'health care')
ORDER BY RANK DESC
通过KEY
以从原始表中获取列。
SELECT TOP 3 TABLE_NAME.*
FROM FREETEXTTABLE(TABLE_NAME,content,'health care') as fullTextResults
join TABLE_NAME on fullTextResults.[KEY] = TABLE_NAME.Id
ORDER BY fullTextResults.RANK DESC
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.