2
低排名的一个名为“红色自行车与升级的赛车框架”的产品,一个CONTAINSTABLE搜索返回如下:SQL CONTAINSTABLE返回精确匹配
containstable(tbl, col, '"red bike"') Rank: 100
containstable(tbl, col, '"red bike with upgraded racing frame"') Rank: 255
我的问题是:
- 为什么第二次搜索返回255而不是1000 - 我应该使用除了containstable以外的东西吗?
- 有没有更好的方式来实现我的最终结果?
我在寻找的最终结果是搜索产品名称的快速方法。我选择,因为我的测试显示,它比做“tbl.col.field =‘’或者tbl.col.field像‘显著更快地使用CONTAINSTABLE %%’”,也因为我希望能够做全文搜索除了部分和完全匹配搜索。
产品名称结果被聚合与其它结果 - 例如,当用户运行的搜索,产品名称和产品描述都搜索和结果进行组合。出于这个原因,我想确切的产品名称匹配排名最高,但目前发生的情况是,有时候描述全文匹配会超过确切的产品名称匹配。
我试图避免为每个搜索类型进行硬编码的等级值写入多个查询。