SQL Server Full Text ContainsTable函数排名问题
如果完全匹配,则可以提高 ContainsTable 结果的排名。
我有一个像这样的全文查询
select iname,rank from ItemSearch_View sv 内连接 CONTAINSTABLE(ItemSearch_View,searchstring, '(FORMSOF(INFLECTIONAL, "google") )',500) AS itable ON sv.itemid = itable.[KEY] 按排名 desc 排序
,提供以下结果(右侧是排名)
Google 搜索 352
搜索前教师,320
搜索前男孩/女孩朋友 320
搜索男孩/女孩 320
谷歌 208
项目“Google”是否可能有这里的等级更高。
谢谢 维贾伊
Is is possible to increase the Rank of the ContainsTable results if its an Exact match.
I have a fulltext query like this
select iname,rank from
ItemSearch_View sv INNER JOIN
CONTAINSTABLE(ItemSearch_View,searchstring, '(FORMSOF(INFLECTIONAL, "google") )',500) AS itable ON sv.itemid = itable.[KEY]
order by rank desc
which provides the following results (right side is the rank)
Googling 352
Googled Former Teachers, 320
Googled Former Boy/Girl Friends 320
Googled the Guy/Girl 320
Google 208
Is it possible the item "Google" Item can have the higher rank here.
Thanks
Vijai
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我相信您遇到的结果是由于使用了 InNFLECTIONAL 子句。
例如,“Googling”是“Google”的屈折匹配,并且由于单词“Googling”的长度增加,产生更高的排名分数,即可能是更高质量的匹配。
对于同一查询,仅对单词 google 进行模糊搜索而不是寻找屈折形式有何不同?
即
CONTAINSTABLE(ItemSearch_View,searchstring, 'google')
I believe the results you are experiencing are due to the use of the INFLECTIONAL clause.
For example, "Googling" is an inflectional match of "Google" and because of the increased length in the word "Googling", produces a higher rank score, i.e. likely to be a higher quality match.
How does the same query differ by merely performing a fuzzy search for the word google rather than looking for inflectional forms?
i.e.
CONTAINSTABLE(ItemSearch_View,searchstring, 'google')