我们有一个返回这个的过程:
SELECT TOP 15 SearchName, AlternateName, CountryName, StateProvince, Latitude, Longitude, Type, boost + k.Rank as Rank
FROM SearchLocations
INNER JOIN CONTAINSTABLE([SearchLocations], [SearchName], @Search) AS k
ON SearchLocations.Id = k.[Key]
ORDER BY Rank DESC
基本上,它[SearchLocations]
根据全文排名和 boost 列对结果进行全文搜索和排序。问题是,当我搜索 `ISABOUT("L*" WEIGHT(1.0))' 时,将给 '@Search' 作为 "L" 的输入,城市像
- 拉各斯 拉各斯 尼日利亚
- 秘鲁利马省利马省
显示高于Los Angeles California United States
。虽然它们的提升较低,但全文搜索使它们具有更高的排名,因为它们重复相同的单词。这也发生在不重复单词但多次具有相同子词的地方的情况下。
如何禁用/解决此问题?