1

我想在索引我的内容时为最新数据做一个半身像。例如,从现在到过去 6 个月的内容应该有 boost = 10,而从过去 6 个月到过去 12 个月的内容应该有 boost = 5 旧内容应该有 boost = 0

我的日期被保存为时间戳,所以唯一的问题是在索引时获取当前日期

我可以从函数中的参数行中获取内容的日期,但我不知道如何获取当前日期并进行比较。应该是这样的吗?

还有一个问题

有什么方法可以检查升压吗?我的意思是我可以监控什么是如何提升的吗?因为很难确定使用包含数千篇文章的结果列表

// 编辑答案

知道了

脚本应该是这样的(这是 1 岁及以上的

<script>
<![CDATA[
function s1(row)    {
var curTime = parseInt(new Date().getTime()/1000);
var itemDate = row.get('publication_date');
if(itemDate >= (curTime - 31104000)) {
    row.put('$docBoost', 40);
} else {
    row.put('$docBoost', 20);    
}

return row;
}
]]>
</script>
4

1 回答 1

3

我建议您使用查询/搜索时间提升来代替您的用例。主要优点是您不需要定期重新索引文档来调整提升。请参阅日期提升“如何提高较新文档的分数” wiki 提示

于 2013-02-04T11:27:21.010 回答