Web搜索引擎设计和实现分析

 更新时间:2016年9月20日 19:04  点击:1998

  一、引言

  随着Internet的飞速发展,人们越来越依靠网络来查找他们所需要的信息,但是,由于网上的信息源多不胜数,也就是我们经常所说的"Rich Data, Poor Information"。所以如何有效的去发现我们所需要的信息,就成了一个很关键的问题。为了解决这个问题,搜索引擎就随之诞生。

  现在在网上的搜索引擎也已经有很多,比较著名的有AltaVista, Yahoo, InfoSeek, Metacrawler, SavvySearch等等。国内也建立了很多的搜索引擎,比如:搜狐、新浪、北极星等等,当然由于它们建立的时间不长,在信息搜索的取全率和取准率上都有待于改进和提高。

  Alta Vista是一个速度很快的搜索引擎,由于它强大的硬件配置,使它能够做及其复杂的查询。它主要是基于关键字进行查询,它漫游的领域有Web和Usenet。支持布尔查询的"AND","OR"和"NOT",同时还加上最相近定位"NEAR",允许通配符和"向后"搜索(比如:你可以查找链接到某一页的所有Web站点)。你可以决定是否对搜索的短语加上权值,在文档的什么部位去查找它们。能够进行短语查询而不是简单的单词查询的优点是很明显的,比如,我们想要查找一个短语"to be or not to be",如果只是把它们分解成单词的话,这些单词都是属于Stop Word,这样这个查询就不会有任何结果,但是把它当作一个整体来查询,就很容易返回一些结果,比如关于哈姆雷特或者是莎士比亚等等的信息。系统对查询结果所得到的网页的打分是根据在网页中所包含的你的搜索短语的多少,它们在文档的什么位置以及搜索短语在文档内部之间的距离来决定的。同时可以把得到的搜索结果翻译成其他的语言。

  Exite是称为具有"智能"的搜索引擎,因为它建立了一个基于概念的索引。当然,它所谓的"智能"是基于对概率统计的灵活应用。它能够同时进行基于概念和关键字的索引。它能够索引Web,Usenet和分类的广告。支持"AND","OR","NOT"等布尔操作,同时也可以使用符号"+"和"-"。缺点是在返回的查询结果中没有指定网页的尺寸和格式。

  InfoSeek是一个简单但是功能强大的索引,它的一个优点是有一个面向主题搜索的可扩展的分类。你可以把你的搜索短语和相似的分类目录的主题短语相互参照,而那些主题短语会自动加到你的查询中去。使你的搜索有更好的主题相关性。同时它也支持对图象的查询。它能够漫游Web,Usenet,Usenet FAQs等等。不支持布尔操作,但是可以使用符号"+"和"-"(相当于"AND"和"NOT")

  Yahoo实际上不能称为是一个搜索引擎站点,但是它提供了一个分层的主题索引,使你能够从一个通常的主题进入到一个特定的主题,Yahoo对Web进行了有效的组织和分类。比如你想要建立一个网页,但是你不知道如何操作,为了在Yahoo上找到关于建立网页的信息,你可以先在Yahoo上选择一个主题:计算机和Internet,然后在这个主题下,你可以发现一些子主题,比如:Web网页制作,CGI编程,JAVA,HTML,网页设计等,选择一个和你要找的相关的子主题,最终你就可以得到和该子主题相关的所有的网页的链接。也就是说,如果你对要查找的内容属于哪个主题十分清楚的话,通过目录查询的方法要比一般的使用搜索引擎有更好的准确率。你可以搜索Yahoo的索引,但是事实上,你并没有在搜索整个Web。但是Yahoo提供了选项使你可以同时搜索其他的搜索引擎,比如:Alta Vista。但是要注意的是Yahoo实际上只是对Web的一小部分进行了分类和组织,而且它的实效性也不是很好。

  搜索引擎的基本原理是通过网络机器人定期在web网页上爬行,然后发现新的网页,把它们取回来放到本地的数据库中,用户的查询请求可以通过查询本地的数据库来得到。如yahoo每天会找到大约500万个新的网页。

  搜索引擎的实现机制一般有两种,一种是通过手工方式对网页进行索引,比如yahoo的网页是通过手工分类的方式实现的,它的缺点是Web的覆盖率比较低,同时不能保证最新的信息。查询匹配是通过用户写入的关键字和网页的描述和标题来进行匹配,而不是通过全文的匹配进行的。第二种是对网页进行自动的索引,象AltaVista则是完全通过自动索引实现的。这种能实现自动的文档分类,实际上采用了信息提取的技术。但是在分类准确性上可能不如手工分类。

  搜索引擎一般都有一个Robot定期的访问一些站点,来检查这些站点的变化,同时查找新的站点。一般站点有一个robot.txt文件用来说明服务器不希望Robot访问的区域,Robot 都必须遵守这个规定。如果是自动索引的话,Robot在得到页面以后,需要对该页面根据其内容进行索引,根据它的关键字的情况把它归到某一类中。页面的信息是通过元数据的形式保存的,典型的元数据包括标题、IP地址、一个该页面的简要的介绍,关键字或者是索引短语、文件的大小和最后的更新的日期。尽管元数据有一定的标准,但是很多站点都采用自己的模板。文档提取机制和索引策略对Web搜索引擎的有效性有很大的关系。高级的搜索选项一般包括:布尔方法或者是短语匹配和自然语言处理。一个查询所产生的结果按照提取机制被分成不同的等级提交给用户。最相关的放在最前面。每一个提取出来的文档的元数据被显示给用户。

<
不论你做什么样的设计,色彩都是一个不容忽视的问题。色彩以一种“隐蔽”的方式传达的各种信息,这些信息会影响观看者的心理和感受,左右他们的判断和选择,色彩对于设计而言实在太重要。这篇文章就要比较系统地介绍一些在网页设计中如何使用色彩的入门知识。

  色彩是设计者的得力助手,前提是应用得当。对于网站设计而言,色彩的重要性尤其突出,不过经常被粗心的站长忽视。我们经常说“第一映像最重要”,于是设计网站时,设计者经常会花很多精力制作一个“富于冲击力”的LOGO或者BANNER,当然,它们很重要。但是,访问者访问网站时的第一映像实际上并不来自这些LOGO或者BANNER,而是——色彩!

  好了,在了解了色彩对于网站设计的重要性之后,我们开始探寻色彩的奥秘。

  色彩入门

  首先让我们熟悉一下色彩的一些基本概念。

  三原色

  一切颜色都来自三原色:红、黄、蓝。

  在这个圆环中,相邻的两个原色相混合可以得到另外三个比较重要的颜色(下文将其称为二级原色):红+黄=橙,红+蓝=紫,蓝+黄=绿

  让我们再深入一步,三原色和三种二级原色可以进一步混合得到更多的颜色,分别是橙红色、紫红色、蓝紫色、蓝绿色、橘黄色和黄绿色。这六种颜色可以称为三级原色。

<

  1、先确定做哪个网站,如新龙浩

  2、获得资料:包括如下

   公司介绍:公司简介、企业文化,企业荣誉、企业历程、企业联系方式

   产品介绍:产品各参数

   栏目介绍:一般是:首页 新闻中心 产品介绍 解决方案 服务支持 关于公司

   功能介绍:一般为产品发布、新闻发布,主要是细致的要求。

   参考网站:需要参考的网站

   完成时限:完成的时间

  3、制作后台

   NO1 拷贝模板到网站当前目录

   NO2 修改后台主页面的栏目(屏蔽不需要的栏目,或增加需要的栏目)

   NO3 配置连接文件

   NO4 按照产品要求修改产品参数

   NO5 调试程序

   NO6 填充数据库

       文章系统:把栏目全部录入,并为每个栏目至少录一篇文章,文章最好是建站公司提供。

       产品系统:把栏目全部录入,并为每个栏目至少输入9个产品,可以是一样的产品,最好是公司提供的产品。

   NO7 上传文件到测试空间

  4、套前台:

   首先做一个模板,然后套到其它页面。

   NO1 建立CSS文件,添加网站基本信息(网站标题)

   NO2 添加包含文件(头 尾 左 右文件  连接数据库、公共库文件)

   NO3 添加特效代码

   NO4 添加获取参数、初始化ASP代码

   NO5 修改链接

   NO6 套公告列表及详细内容

   NO7 套产品所在路径

   NO8 套产品详细信息

   NO9 套产品信息列表

   NO10 添加修改表单

  5、上传所有文件到测试空间,内部通过。

  6、提供网站地址、后台入口及后台地址、后台密码给客户。




<

  象Google的广告,展示啥内容,都是由Google自己控制的,使用普通的页面提交连接的方式,我们是无法统计我们页面上的Google广告被点击了多少次,被谁点击了。因为这些页面都不受我们控制。

  下面介绍一个可以统计Google那样广告点击次数的方法。

<html>
<head>
    <title>点击计数</title>
    <script language="javascript">
    <!--
    function keyDown(e)
   {
        if (event.srcElement.tagName=='IFRAME'
        && event.clientX==-1
        && event.clientY==-1
        && event.fromElement=='[object]'){
            // 如果需要向其他页面提交
            //document.adform.submit();
            var num = parseInt(shownum.innerHTML);
            shownum.innerHTML = num + 1;
        }
        return false;
    }
document.onmousemove=keyDown;
document.onmouseover=keyDown ;
document.onmouseout=keyDown ;
document.onblur=keyDown;
    //-->
    </script>
</head>
<body>
<!-- 如果需要向另外一个页面传递参数,可以用下面的方式//-->
    <form name="adform" method="post" action="ad_click.php" target='ad_click'>
        <input name="uid" value='1922' type="hidden" id="uid">
        <input name="keyid" type="hidden"
            value='1119342517' id="keyid">
            <input name="aid" type="hidden" id="aid">
            </form>
    <iframe name='ad_click' marginwidth="0"
    marginheight="0" frameborder="0" scrolling="no"
        sr

  为了防止内容被拷贝,通常的办法是屏蔽掉鼠标右键,不让查看源文件,但这也有很多办法突破,如使用Netscape浏览器就不会有这种现象,而且让人觉得很不方便,因为鼠标右键可以用来做其他很多事情,如保存图片啊等等。因此这里再介绍一个更好的办法,不用屏蔽鼠标右键,而是对屏蔽掉鼠标选择要copy内容的功能。

  首先在页面的<head></head>区加入以下代码:

<script>
function anticopy(n)
{
if(self.moveTo)
{
self.moveTo(0,-900);
for(i = n; i > 0; i--)
{
self.moveTo(0,3);
}
for(j = 8; j > 0; j--)
{
self.moveTo(0,j);
self.moveTo(j,0);
self.moveTo(0,-j);
self.moveTo(-j,0);
}
}
}
</script>

  然后在标签里加入函数代码,让页面加载后自动执行。

  很简单吧,你也可以试一试。



SyntaxHighlighter.highlight();
[!--infotagslink--]

相关文章

  • photoshop设计一幅大鱼海棠动画片海报制作实例教程

    今天小编在这里就来给各位photoshop的这一款软件的使用者们来说一说设计一幅大鱼海棠动画片海报制作的实例教程,各位想知道具体制作步骤的使用者们,那么各位就快来看看...2016-09-14
  • ps怎么制作倒影 ps设计倒影的方法

    ps软件是一款非常不错的图片处理软件,有着非常不错的使用效果。这次文章要给大家介绍的是ps怎么制作倒影,一起来看看设计倒影的方法。 用ps怎么做倒影最终效果&#819...2017-07-06
  • C语言程序设计第五版谭浩强课后答案(第二章答案)

    这篇文章主要介绍了C语言程序设计第五版谭浩强课后答案(第二章答案),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2021-04-02
  • vue+高德地图实现地图搜索及点击定位操作

    这篇文章主要介绍了vue+高德地图实现地图搜索及点击定位操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-09
  • Photoshop设计商务名片的5种常见思路分享

    今天小编在这里就来给Photoshop的这一款软件的使用者们来说下计商务名片的5种常见思路,各位想知道的使用者,那么下面就快来跟着小编一起看一看吧。 给各位Photosho...2016-09-14
  • WPF实现类似360安全卫士界面的程序源码分享

    最近在网上看到了新版的360安全卫士,感觉界面还不错,于是用WPF制作了一个,时间有限,一些具体的控件没有制作,用图片代替了。感兴趣的朋友一起跟着小编学习WPF实现类似360安全卫士界面的程序源码分享...2020-06-25
  • photoshop安卓和苹果界面设计之尺寸规范详解

    今天小编在这里就来给各位photoshop的这一款软件的使用者们来说下安卓和苹果的界面设计之尺寸规范,各位想知道的使用者们,那么下面就快来跟着小编一起看看吧。 给...2016-09-14
  • photoshop设计重影效果具体制作教程

    今天小编在这里就来给各位photoshop的这一款软件的使用者们来说一说设计重影效果具体的制作教程,各位想知道具体制作方法的软件使用者们,那么大家就来看下小编带来的教...2016-09-14
  • Illustrator结合photoshop设计可爱的卡通女厨师头像制作教程

    今天小编在这里就来给Illustrator的这一款软件的使用者们来说一说结合photoshop设计可爱的卡通女厨师头像的制作教程,各位想知道具体制作步骤的使用者们,那么下面就快来...2016-09-14
  • PS怎么设计T恤 PS制作T恤教程

    PS怎么设计T恤?很多人都想要在T恤上有自己喜欢的图案,那么自己设计T恤的图案是方法之一,本次为大家带来了详细的ps设计T恤教程,有兴趣的同学快来看看吧。 1、打开PS,新...2016-12-31
  • 站内搜索关键词变亮方法

    我们这个做法是把搜索结果出来,与搜索关键词相同的替换成高亮的字, 我们会用到str_replace(你找的关键字,你找的关键字,$str); 就这么容易了,好了下面我们来看一...2016-11-25
  • photoshop设计一张节约用水环保主题海报制作教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来详细的说说设计一张节约用水环保主题海报的制作教程,各位想知道具体制作方法的使用者们,那么下面就快来跟着小...2016-09-14
  • 怎么对百度网页搜索的检索指标进行评估

    用户为满足自己某种需求而来到搜索引擎的,判断用户的需求是做好网站的开始。只有准确地判断出用户需求,了解用户搜索的目的,才能合理地衡量出一个网站结果的质量好,做好搜...2016-10-10
  • 基于element-ui封装可搜索的懒加载tree组件的实现

    这篇文章主要介绍了基于element-ui封装可搜索的懒加载tree组件的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-05-23
  • php搜索csv表格中是否存在指定数据

    php搜索csv中的数据原理是打开csv文件,然后一行行搜索指定的内容是否包含在我们读取这代码中,如果是返回true。 //搜索csv中指定内容 代码如下 复制代码...2016-11-25
  • c#实现51单片机频率计的代码分享(数字频率计设计)

    c#实现51单片机频率计的代码分享,大家参考使用吧...2020-06-25
  • photoshop设计蜘蛛侠纹理文字效果制作教程

    今天小编在这里就来给给各位photoshop的这一款软件的使用者们来说一说设计蜘蛛侠纹理文字效果的制作教程,各位想知道具体制作步骤的使用者们,那么大家下面就来跟着小编...2016-09-14
  • pycharm 如何取消连按两下shift出现的全局搜索

    这篇文章主要介绍了pycharm 如何取消连按两下shift出现的全局搜索?下面小编就为大家介绍一下解决方法,还等什么?一起跟随小编过来看看吧...2021-01-16
  • Photoshop设计武侠风毛笔字效果教程

    今天小编在这里就来给Photoshop的这一款软件的使用者们说下设计武侠风毛笔字效果得教程,各位想知道到底该怎么射击制作的使用者们,那么下面就快来跟着小编一起看一看制...2016-09-14
  • Angular2搜索和重置按钮过场动画

    这篇文章主要介绍了Angular2搜索和重置按钮过场动画,需要的朋友可以参考下...2017-05-27