Files
ZelWiki/ZelWiki.Repository/Scripts/GetExactPageSearchTokens.sql
2025-02-23 18:47:21 +08:00

27 lines
513 B
SQL

SELECT
PageId,
SUM([Match]) as [Match],
SUM([Weight]) as [Weight],
SUM([Score]) as [Score]
FROM
(
SELECT
T.PageId,
COUNT(DISTINCT T.Token) / (@TokenCount + 0.0) as [Match],
SUM(T.[Weight] * 1.5) as [Weight],
SUM(T.[Weight] * 1.5) * (COUNT(DISTINCT T.Token) / (@TokenCount + 0.0)) as [Score]
FROM
PageToken as T
INNER JOIN TempSearchTerms as ST
ON ST.Token = T.Token
GROUP BY
T.PageId
) as T
GROUP BY
T.PageId
HAVING
SUM(Score) >= @MinimumMatchScore
ORDER BY
SUM([Score]) DESC
LIMIT 250;