|
本帖最后由 nymbian 于 2011-8-26 11:46 编辑
建立 一个tag表
每次搜索时 ,如果是从未搜索过的,插入一个新tag。
如果已被搜索过,搜素次数加1 。PHP复制代码 $query = $this->db->get_where('tag', array('tag_name' => $search));
if ($query->num_rows() > 0) {
$row = $query->first_row();
$search_time = $row->search_time + 1;
$data = array(
'search_time' => $search_time
);
$this->db->where('tag_name', $search);
$this->db->update('tag', $data);
} else {
$data = array(
'tag_name' => $search,
'search_time' => 1
); 复制代码
另一个表 correlation 表示相关性
tag1与tag2的相关性 correlation用百分比表示,最大是1。
判断这个相关性取决于两个tag搜索的结果集的相似性。
使用一个类似搜索引擎的程序按特定时间去更新。
判断相关tag时可以设定一个相关性阀值,例如70%结果集相同才能认定为相关tag
correlation的数据量为 不排序从X个中取2个。
求助下怎样实现 从x个tag中取出两个的算法
|
|