solr
来源:互联网 发布:属下知罪by枯目微盘 编辑:程序博客网 时间:2024/05/16 05:13
/**
* (分语言)每天从过去一个月内的所有pin里出现次数多的顺序对tag进行排列,根据页面可显示空间取前30-40个显示
* @param unknown_type $startTime
* @return unknown
*/
public function findRankTags($startTime,$number){
$map = new MongoCode('function(){
if(this.tags != null && typeof this.tags != "undefined"){
for (var i = 0; i < this.tags.length; i++) {
emit(this.tags[i], 1);
}
}
}
');
$reduce = new MongoCode('function(k, v) {
var total = 0;
for (var i = 0; i < v.length; i++) {
total += v[i];
}
return total;
}');
$db = parent::getMongoDB();
$tmpTable = "eventCounts";
$comm= $db->command(array(
"mapreduce" => "UserModel",
"map" => $map,
"reduce" => $reduce,
"query" => array("create_time" => array("\$gte"=>$startTime)),
"out" => array("merge" => $tmpTable)));
$rs = $db->selectCollection($comm['result'])->find();
$tmpArray = array();
foreach ($rs as $item) {
$trs['tn'] = strip_tags($item["_id"]);
$trs['c'] = $item["value"];
array_push($tmpArray,$trs);
}
//排序
if (!empty($tmpArray)){
@usort($tmpArray,function_sort);
if (count($tmpArray) > $number){
$tmpArray = array_slice($tmpArray,0,$number);
}
$tnArray = array();
foreach ($tmpArray as $comm) {
array_push($tnArray,$comm['tn']);
}
}
//删除临时表
$db->$tmpTable->drop();
return $tnArray;
* (分语言)每天从过去一个月内的所有pin里出现次数多的顺序对tag进行排列,根据页面可显示空间取前30-40个显示
* @param unknown_type $startTime
* @return unknown
*/
public function findRankTags($startTime,$number){
$map = new MongoCode('function(){
if(this.tags != null && typeof this.tags != "undefined"){
for (var i = 0; i < this.tags.length; i++) {
emit(this.tags[i], 1);
}
}
}
');
$reduce = new MongoCode('function(k, v) {
var total = 0;
for (var i = 0; i < v.length; i++) {
total += v[i];
}
return total;
}');
$db = parent::getMongoDB();
$tmpTable = "eventCounts";
$comm= $db->command(array(
"mapreduce" => "UserModel",
"map" => $map,
"reduce" => $reduce,
"query" => array("create_time" => array("\$gte"=>$startTime)),
"out" => array("merge" => $tmpTable)));
$rs = $db->selectCollection($comm['result'])->find();
$tmpArray = array();
foreach ($rs as $item) {
$trs['tn'] = strip_tags($item["_id"]);
$trs['c'] = $item["value"];
array_push($tmpArray,$trs);
}
//排序
if (!empty($tmpArray)){
@usort($tmpArray,function_sort);
if (count($tmpArray) > $number){
$tmpArray = array_slice($tmpArray,0,$number);
}
$tnArray = array();
foreach ($tmpArray as $comm) {
array_push($tnArray,$comm['tn']);
}
}
//删除临时表
$db->$tmpTable->drop();
return $tnArray;
}
2./**
* 通过用户名ID获取当前用户所创建的所有标签,并通过TagName分组排序
*/
public function getDataTagByUserIdGourpByTagNameCount($user_id,$offset,$limit){
$dataTagDao = parent::getDBDataTagModel();
//通过TagName分组获取所有的Tag并通过count排序
if (!empty($dataTagDao)){
$keys = array("tag_name" => 1);
$initial = array("items" => array());
$reduce = "function (obj, prev) { prev.items.push(obj); }";
$condition = array("user_id" => $user_id);
$g = $dataTagDao->group($keys, $initial, $reduce, $condition);
usort($g['retval'],create_function('$a,$b', 'return (count($a["items"]) < count($b["items"])) ? 1 : -1;'));
return array_slice($g['retval'],$offset,$limit);
}
return null;
}
- Solr
- solr
- solr
- solr
- solr
- solr
- Solr
- solr
- solr
- solr
- solr
- Solr
- solr
- Solr
- solr
- solr
- Solr
- solr
- 各种猥琐的Java笔试/面试题目的答案(这是我自己测试得出的答案,如有不对的欢迎批评指正)
- select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
- MTD系列 - android平台上linux启动时init进程解析init.rc文件分析
- ADF11g-028:Resetting and clearing form fields while cancelling an ADF popup
- Mysql Limit语句性能测试
- solr
- java 设计模式-行为模式之责任链模式
- Windows主机管理系统Websitepanel
- cocos2d-x中几种存储数据的方式
- 大话存储系列2——计算机内部的IO世界
- NewsStand功能 IOS5 iphone
- 获取当前工程目录下的ini文件方法
- 破解Windows 2008 R2管理员密码的两种方法
- Git 常用命令导图