如何为 SQL Server 全文搜索中的列分配不同的权重?
我正在使用 SQL Server 2008 FTS,并且我希望能够将加权排名集成到我的搜索结果中。但是,我想对搜索词所在的列进行不同的加权。例如,如果我有一个标题列和一个描述列,我希望标题中的匹配项排名高于描述中的匹配项。
这在 SQL Server 2008 中可能吗?据我所知,我只能为特定术语添加权重,而不能为列位置添加权重。
I'm using SQL Server 2008 FTS and I'd like to be able to integrate weighted rankings into my search results. However, I'd like to weight the columns that a search term is found in differently. For example, if I have a Title column and a Description column, I want matches fond in Title to rank higher than matches in Description.
Is this possible in SQL Server 2008? As far as can I see, I can only add weights to specific terms, not column locations.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以在每列上单独使用 FREETEXTTABLE 函数,然后分配您的返回的 Rank 列的权重。我相信我在某处读到,尽管“排名”列对于跨搜索的比较不一定有效,所以您可能需要进行试验以确保获得准确的结果。
You can use the FREETEXTTABLE function on each column independently and then assign your weights to the Rank column that is returned. I believe I read somewhere though that the Rank column isn't necessarily valid for comparisons across searches, though, so you may need to experiment to ensure that you get accurate results.