2018-09-16 12:07:40 版本 : 知识热度计算原理
作者: 系统管理员 于 2015年11月24日 发布在分类 / 常见问题 下,并于 2018年09月16日 编辑
 历史版本

备注 修改日期 修改人
CREAT 2018-09-16 12:07:40[当前版本] 系统管理员

热度计算实现

/**
	 * 计算文章热度
	 * 
	 * @param date12最后一次访问时间yyyyMMddHHmm
	 * @param hotNum
	 *            上次热度
	 * @param visitNum
	 *            新增访问量(一般为1)
	 * @param hotWeight
	 *            冷却系数(一般为19,24小时从100衰减到1,越大衰减的越快)
	 * @return
	 */
	public static int getHotnum(String date12, Integer hotNum,
			Integer visitNum, int hotWeight) {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmm");
		int minuteMinus = 0;
		try {
			minuteMinus = TimeTool.countMinuteMinus(sdf.parse(date12.substring(
					0, 12)), new Date());
		} catch (ParseException e) {
			log.error(e + e.getMessage());
		}
		// 本期得分 = 上一期得分 × exp(-(冷却系数) × 间隔的小时数) + 本期本期票数
		return Integer.valueOf(String.valueOf(Math.round(hotNum
				* Math.exp(-((float) hotWeight / 100) * minuteMinus / 60))))
				+ visitNum * 10;
	}

热度计算参数

冷却系数(一般为19,24小时从100衰减到1,越大衰减的越快)

document.properties中修改config.doc.hot.weight=10


历史版本-目录  [回到顶端]
    wcp知识库系统-京ICP备15024440号-1 -V 5.2.0 -wcp