根据结果所在的列,我收到了一个为搜索结果添加相关性得分的规范。例如,我有一个产品表,其中包括关键字,productNames和品牌。
我目前通过链接
查看产品JOIN CONTAINSTABLE(Products, (keywords, productNames, brands), '"NIKE*"')
现在这将找到包含搜索词的记录,但我需要按列对结果进行加权,例如。关键词得分1,产品名称得分2,品牌4等。我可以将得分的总和加在一起,得出结果的相关性。即如果" Nike"在所有三列中,它将获得7分,仅在品牌4等中
为了方便这一点,我需要知道哪些列包含稳定匹配,但是没有找到任何详细信息。
我查看了ISABOUT选项,但这可以在一列中对多个搜索字词进行加权。
目前我有个案陈述
CASE WHEN CONTAINS (Keywords, '"Nike*"') THEN 1 ELSE 0 END +
CASE WHEN CONTAINS (productNames, '"Nike*"') THEN 2 ELSE 0 END +
CASE WHEN CONTAINS (brands, '"Nike*"') THEN 4 ELSE 0
AS Relevance
哪种方法有效,但似乎非常浪费,因为必须已经完成了这项工作。
如果有人有任何想法,那么他们会感激不尽。