Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search 如何在Sphinx搜索中为更新的文章赋予更多权重?_Search_Sphinx_Django Sphinx - Fatal编程技术网

Search 如何在Sphinx搜索中为更新的文章赋予更多权重?

Search 如何在Sphinx搜索中为更新的文章赋予更多权重?,search,sphinx,django-sphinx,Search,Sphinx,Django Sphinx,我在django网站上进行了Sphinx搜索,该网站运行良好。它可以为各种查询找到非常好的匹配项。我希望能够提高排名,以更新的结果。很多时候,很多年前的文章会比全新的文章排名更高。旧文章包含搜索词的频率更高,因此相关性更高,但新文章仍然非常相关,因此我希望它们首先出现 我试图阅读有关权重的斯芬克斯文档,但它令人难以置信地困惑,而且充满了我不太理解的术语。我想让搜索保持原样,我只想稍微提高最近发布日期的搜索结果的排名。使用SPH\u SORT\u EXPR,您可以通过算术表达式更改排序,如: $c

我在django网站上进行了Sphinx搜索,该网站运行良好。它可以为各种查询找到非常好的匹配项。我希望能够提高排名,以更新的结果。很多时候,很多年前的文章会比全新的文章排名更高。旧文章包含搜索词的频率更高,因此相关性更高,但新文章仍然非常相关,因此我希望它们首先出现


我试图阅读有关权重的斯芬克斯文档,但它令人难以置信地困惑,而且充满了我不太理解的术语。我想让搜索保持原样,我只想稍微提高最近发布日期的搜索结果的排名。

使用SPH\u SORT\u EXPR,您可以通过算术表达式更改排序,如:

$cl->SetSortMode(SPH_SORT_EXPR, “@weight+IF(发布日期>标准时间('2011-01-01),50,0))


在此表达式中,从2011年1月1日开始发布的文章的权重将增加+50。

使用SPH_SORT_EXPR,您可以通过算术表达式更改排序,如:

$cl->SetSortMode(SPH_SORT_EXPR, “@weight+IF(发布日期>标准时间('2011-01-01),50,0))

在此表达式中,从2011年1月1日开始发布的文章的重量将增加+50。

$cl->SetSortMode(SPH_SORT_EXPR,“@id”)这会给你一个渐变——越近,重量越大。只需执行
@id*2
即可将效果加倍,或执行
/2
即可减弱效果。

$cl->SetSortMode(SPH_SORT_EXPR,“@id”)这会给你一个渐变——越近,重量越大。只需执行
@id*2
即可将效果加倍,或执行
/2
即可将其减弱

$cl->SetSortMode(SPH_SORT_EXPR,“@id”);这会给你一个斜坡——越近,重量越大。简单地 执行@id*2将效果加倍,或执行/2将效果减弱

这是行不通的,因为使用绝对值很难预测结果。例如,两个分别具有id 100和id 99000的帖子,但是id 100的权重非常好,id 99000的权重非常差,这两个帖子将使id 99000增加

$cl->SetSortMode(SPH_SORT_EXPR,“@id”);这会给你一个斜坡——越近,重量越大。简单地 执行@id*2将效果加倍,或执行/2将效果减弱


这是行不通的,因为使用绝对值很难预测结果。例如,两个帖子的id分别为100和99000,但id为100的权重非常好,id为99000的权重非常差,这将导致id为99000的帖子增加。

这不起作用,因为日期总是在变化。这不可能是任意的截止日期。它需要一个可以追溯到历史的通用滑动比例。我如何使用PDO mysql的查询方式来编写它?这不起作用,因为日期总是在变化。这不可能是任意的截止日期。它需要一个可以追溯到历史的通用滑动比例。我如何使用PDO mysql的查询方式来编写它呢?