gpt4 book ai didi

mysql - 如何在 mysql 搜索中加权日期新鲜度?

转载 作者:行者123 更新时间:2023-11-29 04:27:40 25 4
gpt4 key购买 nike

我有一个相当标准的搜索查询来查找相关内容。除其他外,它根据文章标题和内容的相关性以及类别等来分配分数。所有这些都是非常标准的东西。我还想根据文章的发布日期添加加权“新鲜度”。

如何将文章的发布“日期时间”缩减为可以作为总分的一部分进行比较的分数。 注意:分数需要按照 MATCH () 的顺序反对等

现有分数选择:

SELECT *, 
MATCH (content) AGAINST ( 'some keywords from content') ) *1 +
(MATCH ( title ) AGAINST ( 'some kewords from title ') ) * 1.5 +
COUNT( matching_terms ) *3, 1 ) / 5.5
AS score
FROM ....`

最佳答案

以下函数将日期差异缩小到 3 年期间从 0.5 到最大值约 3 的给定预期值范围。然后可以赋予负权重以更喜欢新鲜度。

SELECT *, (LN(LN(-1/(datediff(published_time, now())+1)) + 1)

三年的成绩。

Wolfram alpha

一个多月的成绩

The score over one month

这两个 LN() 函数是为了确保在 5-6 的范围内有一个上限,以使其比典型的匹配分数小得多。它还对其进行加权,使得超过 2 周的文章更受青睐。单个 LN() 的范围约为 0.5 - 9,前 30 天是首选。

关于mysql - 如何在 mysql 搜索中加权日期新鲜度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8368089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com