预览模式: 普通 | 列表

Google的启示

最近在对现有的搜索引擎进行分布式的改进, 回顾以前阅读过的 google file system 的文章时发现google的思维和我们平时固守的思维很不一样, 可以说很多在我们看来是有一些"偏激"的,可是正是由于这些偏激, 才导致google与其跟随者的不同.

以下为几个例子:

1. google认为, 所有的硬件都是容易产生故障的, 因此google认为故障是必然的, 不产生故障才是偶然现象. 这个想法和我们通常的意识是相反的.

2. Google认为, 一旦写入, 再也不删除和修改. 这点上google认为修改和删除会对系统造成潜在的伤害, 例如文件的不连续性, 文件定位的困难..

查看更多...

Tags: 搜索引擎研究

分类:业界文摘 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2631

集中/分布式搜索引擎的4种设计方案

对于搜索引擎, 在索引量和搜索量大到一定程度的时候, 索引更新的效率会逐渐降低, 服务器的压力逐渐升高, 因此基本上整个搜索引擎的利用率可以说是越来越低了, 并且随着海量数据存储带来的困难, 设计一个良好的分布式搜索引擎将是一个搜索引擎能否面相未来发展的关键因素了.

那么分布式搜索引擎的最主要的核心问题是哪些呢?

1. 分布的信息获取和计算以及对此进行的数据统一
这里面包括爬虫/或者相应的数据获取机制的分布, 对信息进行加工的统一管理

2. 数据处理后的分布存储和管理
主要是文件的准确定位和更新,增加,删除,移动的机制

查看更多...

Tags: 搜索引擎研究

分类:业界文摘 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3748

RSS网络爬虫的时间规则

RSS的网络爬虫的时间规则的设置:

设定RSS爬虫重新访问的5个级别:

Level[1]=20 Minutes
Level[2]=200 Minutes
Level[3]=1000 Minutes
Level[4]=2000 Minutes
Level[5]=10000 Minutes

设定RSS 源的权重为从0到5

查看更多...

Tags: 搜索引擎研究

分类:业界文摘 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4121

垂直搜索

昨天的〔搜索引擎沙龙〕一共来了12位朋友,其中有一多半是做搜索引擎和相关研究的。

讨论的主要话题集中在以下几个:
1.垂直搜索的意义
2.垂直搜索的赢利模式是否强壮
3.垂直搜索的万能模版是否存在,如何实现
4.信息的分类

垂直搜索的核心技术实际上就是智能spider的技术,也就是说如何将定向或者非定向的网页抓取下来进行分析后得到格式化数据的技术。

垂直搜索一般情况下爬虫分3种模式:
1.broad search的基础上对信息进行分类挑选组织。
2.定向爬虫获取信息,配上手工或者自动的模版,将信息进行格式化分析入库。
3.目标网站提供特殊的数据源的接口,利用这些数据进行再加工。

查看更多...

Tags: 搜索引擎研究

分类:业界文摘 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2957

搜索引擎spam的防止

spam现在应该是“相当的”严重了,现在搜索引擎的第一页经常成为了spam的专区,已经严重影响了搜索引擎的正常使用和用户对搜索引擎结果的信任。

参加讨论的有好几个相当专业的朋友,我的抛砖引玉总算没有白费,下面整理一些上次讨论的记录。

1. 什么是spam,seo?

2. spam 和 seo 的差别和关系。

查看更多...

Tags: 搜索引擎研究

分类:业界文摘 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2675

信息指纹与消重算法

信息指纹:就是提取一个信息的特征,通常是一组词或者一组词+权重,然后根据这组词调用特别的算法,例如MD5,将之转化为一组代码,这组代码就成为标识这个信息的指纹。

从理论上讲,每两个不同文本的特征信息是不同的,那么得到的代码也应该是不一样的,就象人的指纹。

搜索引擎在建立索引的时候需要对重复内容的网页进行识别和消重,这就要用到信息指纹。

例如,通常搜索引擎要先对网页进行消噪,就是净化网页,将一些模版类的,无用的广告等剔除调。然后得到预处理后的网页,然后对网页进行向量化处理,简单的讲就是分词,统计,并按照词频生成一个列表。

查看更多...

Tags: 搜索引擎研究

分类:业界文摘 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2724

相关度计算与信噪比

你知道google和百度两个关键词的相关度是多少么?
--最后我将来回答这个问题

通常我们对于文本信息之间得相关性得计算都是采用向量的办法,我在以前的PPT里曾经提到过。然而对于文本信息更深层次的分析不能单纯从字面上分析一篇文章的关键词,更重要的是它隐含的扩展的意义。

传统的关于计算文本相关度和【网页和查询的相关性】的计算都是采用匹配的方式进行的,然而这只能是基于字面意义上的统计计算。这里介绍的做法是采用关键词相关性扩展的做法从而得到更加精确的相关度计算。

例子:
文章 A: 谈论的是大学教育,最高频的关键词是:学生[3],学习[2],大学[2]
文章 B: 谈论的是普通教育,最高频的关键词是:教育[5],教师[1],进修[1]
[]里是相对的权重,可以理解成 TF*IDF

查看更多...

Tags: 搜索引擎研究

分类:业界文摘 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2778

php可逆加密

<? asp?tag=php" target="_blank"> php

//这个是程序加密解密的密钥,之后知道这个数值,才能解开加密 
//在这个地方定义为全局变量,可以放到你的配置文件里面去 
define("KEY_NUMBER",50); 

查看更多...

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 5524

php地址栏参数

urlencode 和 urldecode 
$str=urlencode("参数字符"); 
可以实现你要的效果 
反过来把%E6%B7%91%E5%A5%B3%E5%B1%8B 这样的转化成汉字用urldecode

查看更多...

Tags: urlencode urldecode

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3530

PHP伪静态化页面的实现

<?php
/*
功能:PHP伪静态化页面的实现
具体用法:
例如链接为:test.php/year/2006/action/_add.html
mod_rewrite();
$yearn=$_GET["year"];//结果为'2006'
$action=$_GET["action"];//结果为'_add'
Power By:antsnet.net
E-mail:antsnet.net@gmail.com
网址:http://www.antsnet.net
*/
function mod_rewrite(){
 global $_GET;
 $nav=$_SERVER["REQUEST_URI"];
 $script_name=$_SERVER["SCRIPT_NAME"];
 $nav=substr(ereg_replace("^$script_name","",urldecode($nav)),1);
 $nav=preg_replace("/^.ht(m){1}(l){0,1}$/","",$nav);//这句是去掉尾部的.html或.htm
 $vars = explode("/",$nav);
 for($i=0;$i<Count($vars);$i+=2){
  $_GET["$vars[$i]"]=$vars[$i+1];
 }
 return $_GET;
}
?>

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3269

PHP一个加密解密函数

//加密
function str2hex($s)
{   
    $r = "";
    $hexes = array ("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f");
    for ($i=0; $i<strlen($s); $i++)
        $r .= ($hexes [(ord($s{$i}) >> 4)] . $hexes [(ord($s{$i}) & 0xf)]);
    return $r;
}

//解密
function hex2str($s)
{
    $r = "";
    for ( $i = 0; $i<strlen($s); $i += 2)
    {
        $x1 = ord($s{$i});
        $x1 = ($x1>=48 && $x1<58) ? $x1-48 : $x1-97+10;
        $x2 = ord($s{$i+1});
        $x2 = ($x2>=48 && $x2<58) ? $x2-48 : $x2-97+10;
        $r .= chr((($x1 << 4) & 0xf0) | ($x2 & 0x0f));
    }
    return $r;
}

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2782
//encrypt.php
<?
function encrypt($key, $plain_text) {
    
$plain_text = trim($plain_text);
    
$iv = substr(md5($key), 0,mcrypt_get_iv_size (MCRYPT_CAST_256,MCRYPT_MODE_CFB));
    
$c_t = mcrypt_cfb (MCRYPT_CAST_256, $key, $plain_text, MCRYPT_ENCRYPT, $iv);
    
return trim(chop(base64_encode($c_t)));
}

function decrypt($key, $c_t) {
    
$c_t =  trim(chop(base64_decode($c_t)));
    
$iv = substr(md5($key), 0,mcrypt_get_iv_size (MCRYPT_CAST_256,MCRYPT_MODE_CFB));
    
$p_t = mcrypt_cfb (MCRYPT_CAST_256, $key, $c_t, MCRYPT_DECRYPT, $iv);
    
return trim(chop($p_t));
}
?>

 

调用代码:

//test.php

<?php
include("encrypt.php");
//设置密匙为"cf",待加密的字符串为"root"
$encryted_str=encrypt("cf","root");
echo "加密后的字符串为:$encryted_str<br>";
//解密
$decrypt_str=decrypt("cf",$encryted_str);
echo "解密后的字符串为:$decrypt_str<br>";

?>

运行结果:

查看更多...

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3089

 广告位

↑返回顶部↑