// false 加false 是配合秋月的清表 操作。 by suhy 20151020 配合完毕 20151021 去除 && false if ($newArr['article_id']) { # 获取3个需要用的docId $i = 0; foreach ($newArr['article_id'] as $key => $value) { if (!$value[0]) { continue; } if ($i > 2) { break; } $docArr[] = (int) $value[0]; $i++; } # 根据第一个用户浏览的文章id,取最高优先级的规则的数据.返回形如: $resDataAll = get_arti_by_word($docArr, $needNum); $res1_0 = isset($resDataAll['article']) ? $resDataAll['article'] : array(); #var_dump($resDataAll);exit('110_1'); $num0 = count($res1_0); # 记录进入日志 取消 if ($num0 <= 0) { // $docStr = implode(',',$docArr); // toLog($docStr); } # 第一优先级取出的数据不足36的时候 $num0 < 12 true if ($num0 < $needNum) { # 获取第一优先级的数据的docId $res1_0_1 = array(); # 储存第一优先级的文章id,用于排重 foreach ($res1_0 as $key => $value) { $unArr[] = $key;
#猜你喜欢 ############################## # 1.根据当前文章的标题用其关键词获取相关文章推送给用户 by suhy ############################## # 从100中随机取36条。 ##### 36是 $dataNum 的一个实例,下面的程序都是 ######## 表示猜你喜欢返回的数据数量 $randNum = 100; # 属性所对应的权重 $propertyArr = array('nproduct' => 1.0, 'nbooktitle' => 0.95, 'nmanu' => 0.85, 'ntype' => 0.78, 'nproperty' => 0.7, 'nsubcat' => 0.6, 'eng' => 0.6, 'n' => 0.3, 'nr' => 0.3, 'nz' => 0.3); # 用于排重 $unArr = array(999999); # 获取当前的doc_id $docArr = array(); if ($doc_id) { $docArr[] = $doc_id; # 根据当前的文章id,取最高优先级的规则的数据. $resDataAll = get_arti_by_word($docArr, $dataNum); $res1_0 = isset($resDataAll['article']) ? $resDataAll['article'] : array(); #var_dump($res1_0);exit('102_1'); $num0 = count($res1_0); # 记录进入日志 if ($num0 <= 0) { //toLog($docArr[0]); } //var_dump($dataNum.'=='.$num0);exit('91_1'); # 第一优先级取出的数据不足36的时候 $num0 < 36 true ##### 36是 $dataNum 的一个实例,下面的程序都是 ######## if ($num0 < $dataNum) { # 获取第一优先级的数据的docId $res1_0_1 = array(); # 储存第一优先级的文章id,用于排重 foreach ($res1_0 as $key => $value) { $unArr[] = $key;