<?xml version="1.0" encoding="UTF-8"?>
  <feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html"><![CDATA[博客 --- 北京线点科技有限公司 - 搜索引擎]]></title>
  <subtitle type="html"><![CDATA[我见青山多妩媚，料青山，见我应如是！jaddy0302@126.com]]></subtitle>
  <id>http://www.xd-tech.com/blog/</id> 
  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/" /> 
  <link rel="self" type="application/atom+xml" href="http://www.xd-tech.com/blog/atom.asp" /> 
  <generator uri="http://www.pjhome.net/" version="2.4.1022">PJBlog2</generator> 
  <updated>2010-05-26T16:05:03+08:00</updated> 

  <entry>
	  <title type="html"><![CDATA[如何做好垂直搜索？(二）]]></title>
	  <author>
		 <name>baijl</name>
		 <uri>http://www.xd-tech.com/blog/</uri>
		 <email>jaddy0302@126.com</email>
	  </author>
	  <category term="" scheme="http://www.xd-tech.com/blog/default.asp?cateID=4" label="搜索引擎" /> 
	  <updated>2010-05-26T16:05:03+08:00</updated>
	  <published>2010-05-26T16:05:03+08:00</published>
		  <summary type="html"><![CDATA[如何做好垂直搜索？（二）<br/>搜索引擎是一个产品，给用户提供服务的产品，需要长期的不断的改进升级调整才能持续不断的提用户体验，需要满足用户不断增长并且变化的需求、需要不断适应网络的变化。这是因为网络环境是不断变化的、网民的需求也是不断变化的。千万不要把搜索当成项目来做，做完了撂那让用户去用那你肯定没戏。在搜索引擎领域是讲体验的、新的引擎如果用户体验一旦整体上有领先一年以上的差距并且持续2年，那前期的领先者的优势就荡然无存，因为搜索引擎的用户转移成本相对而言是比较低的而且口碑是最佳的传播方式。如果一个搜索引擎不能持续不断的技术创新理念创新，那对于这个搜索引擎来说就等于死亡。我们一般形容搜索引擎的领先是以时间计算的。在用户体验面前，任何的炒作都显得很渺小。&nbsp;<br/><br/>作垂直搜索引擎，麻雀虽小，但是五脏俱全。无论理念文化、产品管理、应用、技术都和搜索引擎的楔形理论没有什么区别。所以要做好一垂直搜索必须解决这几个方面。&nbsp;<br/><br/>楔形的尖:垂直搜索技术。&nbsp;&nbsp;<br/>垂直搜索技术主要分为两个层次:模板级和网页库级。模板级是针对网页进行模板设定或者自动生成模板的方式抽取数据，对网页的采集也是针对性的采集，适合规模比较小、信息源少且稳定的需求，优点是快速实施、成本低、灵活性强，缺点是后期维护成本高，信息源和信息量小。网页库级就是在信息源数量上、数据容量上检索容量上、稳定性可*性上都是网页库搜索引擎级别的要求，和模板方式最大的区别是对具体网页不依赖，可针对任意正常的网页进信息采集信息抽取……。这就导致这种方式数据容量上和模板方式有质的区别，但是其灵活性差、成本高。当然模板方式和网页库级的方式不是对立的，这两者对于垂直搜索引擎来说是相互补充的，因为技术只是手段，目的是切反用户之需。本文谈及的技术主要是指网页库级别垂直搜索引擎技术。&nbsp;<br/><br/>搜索引擎的确是一项对技术要求比较高的应用，几年前相关的人才也比较少。现在搜索技术人才多了，相关的技术和技术的应用得相对以前而言更加成熟，但是竞争也更加激烈了。垂直搜索大致需要以下技术：<br/><br/>1.&nbsp;信息采集技术<br/>2.&nbsp;网页信息抽取技术&nbsp;<br/>3.&nbsp;信息的处理技术，包括:重复识别、重复识别、聚类、比较、分析、语料分析等&nbsp;<br/>4.&nbsp;语意相关性分析&nbsp;<br/>5.&nbsp;分词&nbsp;<br/>6.&nbsp;索引&nbsp;<br/>信息采集技术，垂直搜索引擎spider和网页库的spider相比应该是更加专业，可定制化。可定向性的采集和垂直搜索范围相关的网页忽略不相关的网页和不必要的网页，选择内容相关的以及适合做进一步处理的网页深度优先采集、对页面有选择的调整更新频率……，采集可通过人工设定网址和网页分析url方式共同进行。垂直搜索对信息的更新有着特别的要求，根据这些特点可以从以下几点考虑1.信息源的稳定性(不能让信息源网站感觉到spider的压力)2.抓取的成本问题3.对用户体验改善程度。根据以上几点制定一种比较好的策略，要做到恰到好处。策略上可以评估网站/网页更新的系数、网站/网页的重要系数、用户点击系数(或曝光系数)、网站稳定系数……，根据这些系数来确定对这些网站/网页更新的频率。再由于新信息和更新了的信息list页面前面或者首页，所以对网页进行很好的分级可以以低成本很好的解决更新问题，系数比较低的网页一月up&#100;ate一次，稍微高点的一周up&#100;ate一次、中等的几天到一天一次、高的几小时到几分钟一次。类似搜索引擎的大库、周库、日库，小时库……&nbsp;<br/><br/>基于视觉网页块分析技术，模拟IE浏览器的显示方式，对网页进行解析。根据人类视觉原理，把网页解析处理的结果，进行分块，再根据需要，对这些块进行处理，如:采集定向、介绍抽取和一些必要的内容的抽取正文抽取……&nbsp;<br/><br/>结构化信息抽取技术，将网页中的非结构化数据按照一定的需求抽取成结构化数据。有两种方式，简单的就是模板方式，另外就是对网页不依赖web结构化信息抽取方式，这两种方式可以互取长处，以最简单最有效的办法满足需求。垂直搜索引擎和通用搜索引擎最大的区别就是对网页信息结构化抽取后再结构化数据进行深度的处理，提供专业的搜索服务。所以web结构化信息抽取的技术水平是决定垂直搜索引擎质量的重要技术指标。其实web结构化信息抽取在百度、google早已经广泛应用了，如:MP3、图片搜索、google的本地搜索就是从网页库抽取出企业信息，添加到其地图搜索中的，google通过这种技术正在颠覆做内容的方式。同样的技术应用还在qihoo、sogou购物、shopping等各种应用中体现。&nbsp;<br/><br/>简单的语法分析，简单的语法分析在搜索引擎中非常重要，可以通过简单的语法分析来改善数据的质量，低成本的获得某类信息，改善排序，寻找需要的内容……&nbsp;<br/><br/>信息处理技术，信息处理包括的范围比较广，主要包括去重、聚类、分析……，这根据需要相关的技术就非常多。&nbsp;<br/><br/>数据挖掘，找出您的信息的关联性对于垂直搜索来说非常重要，有效，可以在这些相关性上为用户提供更细致的服务。&nbsp;<br/><br/>分词技术，面向搜索的分词技术，建立和您的行业相关的词库。注意这是面向搜索的分词，不是面向识别和准确的分词。就这个工作安排十几个人不停的维护也不会嫌多。&nbsp;<br/><br/>索引技术，索引技术对于垂直搜索非常关键，一个网页库级的搜索引擎必须要支持分布索引、分层建库、分布检索、灵活的更新、灵活的权值调整、灵活的索引和灵活的升级扩展、高可*性稳定性冗余性。还需要支持各种技术的扩展，如偏移量计算等。&nbsp;<br/><br/><br/><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/default.asp?id=109" /> 
	  <id>http://www.xd-tech.com/blog/default.asp?id=109</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[如何做好垂直搜索？（一)]]></title>
	  <author>
		 <name>baijl</name>
		 <uri>http://www.xd-tech.com/blog/</uri>
		 <email>jaddy0302@126.com</email>
	  </author>
	  <category term="" scheme="http://www.xd-tech.com/blog/default.asp?cateID=4" label="搜索引擎" /> 
	  <updated>2010-05-18T16:52:45+08:00</updated>
	  <published>2010-05-18T16:52:45+08:00</published>
		  <summary type="html"><![CDATA[<br/>垂直搜索技术主要分为两个层次:模板级和网页库级。模板级是针对网页进行模板设定或者自动生成模板的方式抽取数据，对网页的采集也是针对性的采集，适合规模比较小、信息源少且稳定的需求，优点是快速实施、成本低、灵活性强，缺点是后期维护成本高，信息源和信息量小。网页库级就是在信息源数量上、数据容量上检索容量上、稳定性可*性上都是网页库搜索引擎级别的要求，和模板方式最大的区别是对具体网页不依赖，可针对任意正常的网页进信息采集信息抽取。这就导致这种方式数据容量上和模板方式有质的区别，但是其灵活性差、成本高。当然模板方式和网页库级的方式不是对立的，这两者对于垂直搜索引擎来说是相互补充的，因为技术只是手段，目的是切返用户之需。本文谈及的技术主要是指网页库级别垂直搜索引擎技术。&nbsp;<br/><br/>搜索引擎的确是一项对技术要求比较高的应用，几年前相关的人才也比较少。现在搜索技术人才多了，相关的技术和技术的应用得相对以前而言更加成熟，但是竞争也更加激烈了。垂直搜索大致需要以下技术:&nbsp;<br/><br/>1.&nbsp;信息采集技术&nbsp;<br/>2.&nbsp;网页信息抽取技术&nbsp;<br/>3.&nbsp;信息的处理技术，包括:重复识别、重复识别、聚类、比较、分析、语料分析等&nbsp;<br/>4.&nbsp;语意相关性分析&nbsp;<br/>5.&nbsp;分词&nbsp;<br/>6.&nbsp;索引&nbsp;本文先引用几句话:&nbsp;&nbsp;<br/>“确解用户之意，切返用户之需。”&nbsp;<br/>“门户网站都想着是怎样省钱，而不是怎样花钱来买技术。”&nbsp;<br/>“搜索引擎不是人人都能做的领域，进入的门槛比较高。”&nbsp;<br/>“只是优秀还不够，最好的方式是将一件事情做到极致。”(google十大真理)&nbsp;<br/>“做搜索引擎需要专注”&nbsp;“对于一项排到第四的业务，门户很难做到专注。”<br/>“用户无法描述道他要找什么，除非让他看到想找的东西。”&nbsp;<br/><br/>“所谓楔形，其实就是个倒三角，倒三角的尖端部分代表搜索技术，中部是基于技术的产品应用平台，最上端是对整个搜索引擎用户人群文化的认识和理解，以及现代公司竞争最关键也最捉摸不定的所谓品牌。”&nbsp;<br/><br/>“楔形”蕴涵的另一个意义是:楔子要打到墙里，尖端是否锐利很重要，但楔子的破坏性有多强，究竟能在墙面挤压出多大的空间，其中端、后端的沉稳与厚重才是关键。&nbsp;<br/><br/>搜索引擎的技术和理念都是需要时间和经验的积累的，更是需要长期不断的完善进步的，绝对不要认为可以一蹴而就，要达到一个相对成熟领先的搜索引擎从开始到领先的周期一般需要是四年。着急不得。原因是因为搜索引擎太复杂，而且“用户无法描述他要找什么，除非让他看到想找的东西。”&nbsp;一切都需要摸索，尝试，问题需要一个一个解决，用户的需要得一点点的挖掘。&nbsp;<br/><br/><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/default.asp?id=108" /> 
	  <id>http://www.xd-tech.com/blog/default.asp?id=108</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[中文搜索引擎技术揭密:系统架构（一）]]></title>
	  <author>
		 <name>baijl</name>
		 <uri>http://www.xd-tech.com/blog/</uri>
		 <email>jaddy0302@126.com</email>
	  </author>
	  <category term="" scheme="http://www.xd-tech.com/blog/default.asp?cateID=4" label="搜索引擎" /> 
	  <updated>2010-04-28T10:49:03+08:00</updated>
	  <published>2010-04-28T10:49:03+08:00</published>
		  <summary type="html"><![CDATA[<br/>互联网发展的今天，一方面离不开其开放、共享的特性带给人们的全新体验，另一方面也离不开数以亿计的为其提供各类丰富内容的网络节点。互联网被普及前，人们查阅资料第一想到的便是拥有大量书籍资料的图书馆，到了今天你怎么想？或许今天的很多人都会选择一种更方便、快捷、全面、准确的方式——互联网。你可以坐在家里轻点几下鼠标就查到想要的各类信息，这在互联网没有被普及之前，还都仅是一个梦而已，但如今这一切已成为了现实。<br/>而帮助你通过整个互联网快速查找到目标信息的就是越来越被重视的搜索引擎。有关搜索引擎的技术资料网络上已经很多，关于搜索引擎经济的多方面报道各大媒体也都已经铺天盖地。下面谈一些我对搜索引擎的理解：<br/>搜索引擎技术和分类<br/>搜索引擎的技术基础是全文检索技术，从20世纪60年代，国外对全文检索技术就开始有研究。全文检索通常指文本全文检索，包括信息的存储、组织、表现、查询、存取等各个方面，其核心为文本信息的索引和检索，一般用于企事业单位。随着互联网信息的发展，搜索引擎在全文检索技术上逐渐发展起来，并得到广泛的应用，但搜索引擎还是不同于全文检索。搜索引擎和常规意义上的全文检索主要区别有以下几点：<br/>1.&#160;&#160;&#160;&#160;数据量<br/>传统全文检索系统面向的是企业本身的数据或者和企业相关的数据，一般索引库规模多在GB级，数据量大的也只有几百万条；但互联网网页搜索需要处理几十亿的网页，搜索引擎的策略都是采用服务器群集和分布式计算技术。<br/>2.&#160;&#160;&#160;&#160;内容相关性<br/>信息太多，查准和排序就特别重要，Google等搜索引擎采用网页链接分析技术，根据互联网上网页被链接次数作为重要性评判的依据；但全文检索的数据源中相互链接的程度并不高，不能作为判别重要性的依据，只能基于内容的相关性排序。<br/>3.&#160;&#160;&#160;&#160;安全性<br/>互联网搜索引擎的数据来源都是互联网上公开的信息，而且除了文本正文以外，其它信息都不太重要；但企业全文检索的数据源都是企业内部的信息，有等级、权限等限制，对查询方式也有更严格的要求，因此其数据一般会安全和集中地存放在数据仓库中以保证数据安全和管理的要求。<br/>4.&#160;&#160;&#160;&#160;个性化和智能化<br/>搜索引擎面向的是互联网访问者，由于其数据量和客户数量的限制，自然语言处理技术、知识检索、知识挖掘等计算密集的智能计算技术很难应用，这也是目前搜索引擎技术努力的方向；而全文检索数据量小，检索需求明确，客户量少，在智能化和个性可走得更远。<br/><br/><br/>&nbsp;&#160;&#160;&#160;&#160;<br/><br/><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/default.asp?id=99" /> 
	  <id>http://www.xd-tech.com/blog/default.asp?id=99</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[中文搜索引擎技术揭密:中文分词（一）]]></title>
	  <author>
		 <name>baijl</name>
		 <uri>http://www.xd-tech.com/blog/</uri>
		 <email>jaddy0302@126.com</email>
	  </author>
	  <category term="" scheme="http://www.xd-tech.com/blog/default.asp?cateID=4" label="搜索引擎" /> 
	  <updated>2010-03-31T13:16:55+08:00</updated>
	  <published>2010-03-31T13:16:55+08:00</published>
		  <summary type="html"><![CDATA[<br/>什么是中文分词？<br/>众所周知，英文是以词为单位的，词和词之间是靠空格隔开，而中文是以字为单位，句子中所有的字连起来才能描述一个意思。例如，英文句子I&nbsp;am&nbsp;a&nbsp;student，用中文则为：“我是一个学生”。计算机可以很简单通过空格知道student是一个单词，但是不能很容易明白“学”、“生”两个字合起来才表示一个词。把中文的汉字序列切分成有意义的词，就是中文分词，有些人也称为切词。我是一个学生，分词的结果是：我&nbsp;是&nbsp;一个&nbsp;学生。<br/>中文分词和搜索引擎<br/>中文分词到底对搜索引擎有多大影响？对于搜索引擎来说，最重要的并不是找到所有结果，因为在上百亿的网页中找到所有结果没有太多的意义，没有人能看得完，最重要的是把最相关的结果排在最前面，这也称为相关度排序。中文分词的准确与否，常常直接影响到对搜索结果的相关度排序。笔者最近替朋友找一些关于日本和服的资料，在搜索引擎上输入“和服”，得到的结果就发现了很多问题。下面就以这个例子来说明分词对搜索结果的影响，在现有两个中文搜索引擎上做测试，测试方法是直接在Google（<a href="http://www.google.com" target="_blank">http://www.google.com</a>）、百度（<a href="http://www.baidu.com" target="_blank">http://www.baidu.com</a>）上以“和服”为关键词进行搜索：<br/>&nbsp;&nbsp;&nbsp;&nbsp;在Google上输入“和服”搜索所有中文简体网页，总共结果507,000条，前20条结果中有14条与和服一点关系都没有。在第一页就有以下错误：<br/>&nbsp;在Google上输入“和服”搜索所有中文简体网页，总共结果507,000条，前20条结果中有14条与和服一点关系都没有。在第一页就有以下错误：<br/>&nbsp;&nbsp;&nbsp;&nbsp;“通信信息报：瑞星以技术和服务开拓网络安全市场”<br/>&nbsp;&nbsp;&nbsp;&nbsp;“使用纯HTML的通用数据管理和服务-&nbsp;开发者-&nbsp;ZDNet&nbsp;...”<br/>&nbsp;&nbsp;&nbsp;“陈慧琳《心口不一》化妆和服装自己包办”<br/>&nbsp;&nbsp;&nbsp;&nbsp;“外交部：中国境外领事保护和服务指南(2003年版)&nbsp;...”<br/>&nbsp;&nbsp;&nbsp;&nbsp;“产品和服务”<br/>&nbsp;&nbsp;&nbsp;&nbsp;等等。第一页只有三篇是真正在讲“和服”的结果。<br/>&nbsp;&nbsp;&nbsp;&nbsp;在百度上输入“和服”搜索网页，总共结果为287,000条，前20条结果中有6条与和服一点关系都没有。在第一页有以下错误：<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;“福建省晋江市恒和服装有限公司系独资企业”<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;“关于商品和服务实行明码标价的规定”<br/>&nbsp;&nbsp;&nbsp;&nbsp;“青岛东和服装设备”<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这次搜索引擎结果中的错误，就是由于分词的不准确所造成的。通过笔者的了解，Google的中文分词技术采用的是美国一家名叫Basis&nbsp;Technology（<a href="http://www.basistech.com" target="_blank">http://www.basistech.com</a>）的公司提供的中文分词技术，百度使用的是自己公司开发的分词技术。<br/><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/default.asp?id=96" /> 
	  <id>http://www.xd-tech.com/blog/default.asp?id=96</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[搜索引擎之排序技术分析]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.xd-tech.com/blog/</uri>
		 <email>jaddy0302@126.com</email>
	  </author>
	  <category term="" scheme="http://www.xd-tech.com/blog/default.asp?cateID=4" label="搜索引擎" /> 
	  <updated>2008-10-15T17:25:38+08:00</updated>
	  <published>2008-10-15T17:25:38+08:00</published>
		  <summary type="html"><![CDATA[什么是排序技术<br/><br/>所谓的排序技术，我们可以简单的理解为曝光率，谁出现的次数最多，谁排在前面。要谈到排序技术，就不得不说Google的PageRank，而提到PageRank，则我们需要先来了解一下一种称为HillTop的排序算法。<br/><br/><br/>PageRank技术：通过对由超过&nbsp;50,000&nbsp;万个变量和&nbsp;20&nbsp;亿个词汇组成的方程进行计算，PageRank能够对网页的重要性做出客观的评价。PageRank&nbsp;并不计算直接链接的数量，而是将从网页&nbsp;A&nbsp;指向网页&nbsp;B&nbsp;的链接解释为由网页&nbsp;A&nbsp;对网页B&nbsp;所投的一票。这样，PageRank&nbsp;会根据网页&nbsp;B&nbsp;所收到的投票数量来评估该页的重要性。&nbsp;<br/><br/>PageRank的思想，链接的重要度整体加重了网站的权重，而网站的权重又反过来影响内部链接的排名。而HillTop算法（也被称为“专家系统”，由Krishna&nbsp;Bharat和George&nbsp;A.&nbsp;Mihaila提出），则是以Dan&nbsp;Thiesw为首的TSPR(Topic-Sensitive-PageRank：主题性页面级别技术)理论。相比PageRank算法，HillTop更强调了内容的相关性，也就是我们常说的“粘性”，“黏度”，而非网站权重，这样避免了可能转贴的权重较高的站点（比如门户站点）比原创作者站点排名还要靠前的问题。那么，到底<br/><br/>什么是Hilltop算法&nbsp;<br/><br/>Bharat提出：在利用”页面等级”来寻找”权威”网页时，不应单纯依赖于值的大小来定夺，而应将重点放在它与查询主题的相关性上；即不但需要考虑网页的页面等级，还要考虑该网页的页面等级与查询主题的相关性是否相称。若一个网页只与查询主题只沾点边，那么即使其页面等级非常之高，对用户来说也是没有意义的。如此一来，于网页而言，那些来自于”相关主题”的文档的链接就更有意义了&nbsp;(Bharat称这种”相关主题”文档为”专家文档”)，一个网页的所有外部”专家文档”链接构成了该网页的”权威性值”。Hilltop算法的意义在于：相同主题网站之间的链接应比非相关网站的链接具有更高的价值。&nbsp;<br/><br/>其实GOOLE早在几年前已经开始混合使用HiilTop和PageRank算法共同确定搜索结果排名了，通过HiilTop的方法，计算来自描述相同主题的相关文档的链接对于搜索者的价值会更大（即相同主题网站之间的链接比不相关网站的链接价值要更大），正是由于HiilTop的影响，这也是我们看到即使各项指标（被收录链接数量，反向链接，访问量等）都非常不错的门户类网站PR很难达到7以上，而专业性的站点却非常容易就达到7，甚至有一大批的都达到了9（注：这里的PR指的是Google综合结果通过Google&nbsp;工具条显示的结果，而并非上面的PageRank值）。<br/><br/>Hilltop算法的不足&nbsp;<br/><br/>●Hilltop的前提是每个专家文件都是完全公正的，且无欺骗和人工操纵成分。专家文件的一个小小污点就可以对排名产生极大的负面影响。&nbsp;<br/><br/>●运行Hilltop算法需要大量的计算机处理能力，像Google的成千上万台服务器集群可以轻松的实现，但是对于一般的企业级用户，服务器就未必具有这样的处理能力。&nbsp;<br/><br/>排名所采用的相关技术&nbsp;<br/><br/>●词干技术(stemming)&nbsp;<br/><br/>Google等各搜索引擎中，目前都已经采用了词干技术(stemming)&nbsp;。最早的搜索引擎，如果搜索一个单数查询条件如”live”，则搜索结果中不会出现如”lives”，”living”这样的关键词变化形式，反之亦然。对于搜索引擎的用户来说，这种特性是一件好事情，因为搜索提供的结果更多了，但站在搜索引擎商业用户来说，那就意味着需要多购买一些关键词，这个也体现了技术的进步在商业中的价值。&nbsp;<br/><br/>●拼写纠错&nbsp;<br/><br/>拼写检查和上面的词干技术一样，也已经被应用于搜索结果中。例如，当输入查询条件为”Search&nbsp;Engine&nbsp;Optimisation”后，以往Google只会提示你是否是要找”Search&nbsp;Engine&nbsp;Optimization”，但显示的还是符合”Optimisation”的搜索结果。不过现在则能看到”Optimization”的搜索结果。&nbsp;<br/><br/>这两项处理其实都是在分词阶段完成的。&nbsp;&nbsp;<br/><br/>排名的商业价值<br/><br/>排名在商业中的价值，在互联网蓬勃发展的今天，已经得到了充分的体现。2003年Google大规模调整算法的时候就引来了种种传言和猜测&nbsp;：&nbsp;<br/><br/>开始使用词典对号入座；&nbsp;<br/>意图施压使商业站点使用Adwords广告服务；&nbsp;<br/>开始使用”基于贝叶斯定理的SPAM过滤系统”&nbsp;；&nbsp;<br/>开始处罚互惠链接，”优化”网页，或”链接文本”&nbsp;；&nbsp;<br/>众多猜测中，”Google意图施压使商业站点使用Adwords广告服务”显然占了上风。许多搜索引擎优化分析家都认为：Google通过一个保密的过滤系统”黑名单”来对商业网站进行筛选，从而达到上述目的。虽然这都紧紧是一些猜测，但是这样的传言和猜测，恰恰反应了排名的重要商业价值。<br/>参考资料：<br/>・The&nbsp;Google&nbsp;Hilltop&nbsp;Algorithm<br/><a href="http://www.rankforsales.com/search-engine-algorithms/google-hilltop-algorithm.html" target="_blank">http://www.rankforsales.com/search-engine-algorithms/google-hilltop-algorithm.html</a><br/>・Hilltop:&nbsp;A&nbsp;Search&nbsp;Engine&nbsp;based&nbsp;on&nbsp;Expert&nbsp;Documents<br/><a href="ftp://ftp.cs.toronto.edu/pub/reports/csri/405/hilltop.html" target="_blank">ftp://ftp.cs.toronto.edu/pub/reports/csri/405/hilltop.html</a>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/default.asp?id=76" /> 
	  <id>http://www.xd-tech.com/blog/default.asp?id=76</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[Oracle9i的全文检索技术]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.xd-tech.com/blog/</uri>
		 <email>jaddy0302@126.com</email>
	  </author>
	  <category term="" scheme="http://www.xd-tech.com/blog/default.asp?cateID=4" label="搜索引擎" /> 
	  <updated>2008-10-15T14:52:20+08:00</updated>
	  <published>2008-10-15T14:52:20+08:00</published>
		  <summary type="html"><![CDATA[Oracle9i的全文检索技术<br/><br/>　　4&nbsp;为文本建立索引<br/><br/>　　文本装入文本列后，就可以创建Oracle&nbsp;Text索引。文档以许多不同方案、格式和语言存储。因此，每个&nbsp;o&#114;acle&nbsp;Text&nbsp;索引有许多需要设置的选项，以针对特定情况配置索引。创建索引时，Oracle&nbsp;Text可使用若干个默认值，但在大多数情况下要求用户通过指定首选项来配置索引。<br/><br/>　　每个索引的许多选项组成功能组，称为&#34;类&#34;，每个类集中体现配置的某一方面，可以认为这些类就是与文档数据库有关的一些问题。例如：数据存储、过滤器、词法分析器、相关词表、存储等。<br/><br/>　　每个类具有许多预定义的行为，称之为对象。每个对象是类问题可能具有的答案，并且大多数对象都包含有属性。通过属性来定制对象，从而使对索引的配置更加多变以适应于不同的应用。<br/><br/>　　（1）存储（Storage）类<br/><br/>　　存储类指定构成Oracle&nbsp;Text索引的数据库表和索引的表空间参数和创建参数。它仅有一个基本对象：BASIC_STORAGE，其属性包括：I_Index_Clause、I_Table_Clause、K_Table_Clause、N_Table_Clause、P_Table_Clause、R_Table_Clause。<br/><br/>　　（2）数据存储（Datastore）类<br/><br/>　　数据存储：关于列中存储文本的位置和其他信息。默认情况下，文本直接存储到列中，表中的每行都表示一个单独的完整文档。其他数据存储位置包括存储在单独文件中或以其&nbsp;URL&nbsp;标识的&nbsp;Web&nbsp;页上。七个基本对象包括：Default_Datastore、Detail_Datastore、Direct_Datastore、File_Datastore、Multi_Column_Datastore&nbsp;、URL_Datastore、User_Datastore，。<br/><br/>　　（3）文档段组（Section&nbsp;Group）类<br/><br/>　　文档段组是用于指定一组文档段的对象。必须先定义文档段，然后才能使用索引通过&nbsp;WITHIN&nbsp;运算符在文档段内进行查询。文档段定义为文档段组的一部分。包含七个基本对象：AUTO_SECTION_GROUP、BASIC_SECTION_GROUP、HTML_SECTION_GROUP、NEWS_SECTION_GROUP、NULL_SECTION_GROUP、XML_SECTION_GROUP、PATH_SECTION_GROUP。<br/><br/>　　（4）相关词表（Wordlist）类<br/><br/>　　相关词表标识用于索引的词干和模糊匹配查询选项的语言，只有一个基本对象BASIC_WORDLIST，其属性有：Fuzzy_Match、Fuzzy_Numresults、Fuzzy_Score、Stemmer、Substring_Index、Wildcard_Maxterms、Prefix_Index、Prefix_Max_Length、Prefix_Min_Length。<br/><br/>　　（5）索引集（Index&nbsp;Set）<br/><br/>　　索引集是一个或多个Oracle&nbsp;索引&nbsp;(不是Oracle&nbsp;Text索引)&nbsp;的集合，用于创建&nbsp;CTXCAT类型的Oracle&nbsp;Text索引，只有一个基本对象BASIC_INDEX_SET。<br/><br/>　　（6）词法分析器（Lexer）类<br/><br/>　　词法分析器类标识文本使用的语言，还确定在文本中如何标识标记。默认的词法分析器是英语或其他西欧语言，用空格、标准标点和非字母数字字符标识标记，同时禁用大小写。包含8个基本对象：BASIC_LEXER、CHINESE_LEXER、CHINESE_VGRAM_LEXER、JAPANESE_LEXER、JAPANESE_VGRAM_LEXER、KOREAN_LEXER、KOREAN__MORPH_&nbsp;LEXER、MULTI_LEXER。<br/><br/>　　（7）过滤器（Filter）类<br/><br/>　　过滤器确定如何过滤文本以建立索引。可以使用过滤器对文字处理器处理的文档、格式化的文档、纯文本和&nbsp;HTML&nbsp;文档建立索引，包括5个基本对象：CHARSET_FILTER、INSO_FILTER&nbsp;INSO、NULL_FILTER、PROCEDURE_FILTER、USER_FILTER。<br/><br/>　　（8）非索引字表（Stoplist）类<br/><br/>　　非索引字表类是用以指定一组不编入索引的单词&nbsp;(称为非索引字)。有两个基本对象：BASIC_STOPLIST&nbsp;(一种语言中的所有非索引字)&nbsp;、&nbsp;MULTI_STOPLIST&nbsp;(包含多种语言中的非索引字的多语言非索引字表)。<br/><br/>　　5&nbsp;查询<br/><br/>　　建立了索引，就可以使用&nbsp;Sel&#101;ct&nbsp;语句中的&nbsp;CONTAINS&nbsp;运算符发出文本查询。使用&nbsp;CONTAINS&nbsp;可以进行两种查询：单词查询和ABOUT查询。<br/><br/>　　5．1&nbsp;词查询示例<br/><br/>　　词查询是对输入到&nbsp;CONTAINS&nbsp;运算符中单引号间的精确单词或短语的查询。在以下示例中，我们将查找文本列中包含&nbsp;o&#114;acle&nbsp;一词的所有文档。每行的分值由使用标签&nbsp;1&nbsp;的&nbsp;SCORE&nbsp;运算符选定：<br/><br/>Sel&#101;ct&nbsp;SCORE(1)&nbsp;title&nbsp;from&nbsp;news&nbsp;Wh&#101;re&nbsp;CONTAINS(text,&nbsp;’oracle’,&nbsp;1)&nbsp;&gt;0;<br/><br/>　　在查询表达式中，可以使用&nbsp;AND&nbsp;和&nbsp;o&#114;&nbsp;等文本运算符来获取不同结果。还可以将结构性谓词添加到&nbsp;Wh&#101;re&nbsp;子句中。可以使用&nbsp;count(*)、CTX_QUERY.COUNT_HITS&nbsp;或&nbsp;CTX_QUERY.EXPLAIN&nbsp;来计算查询的命中&nbsp;(匹配)&nbsp;数目。<br/><br/>　　5．2&nbsp;ABOUT查询示例<br/><br/>　　在所有语言中，ABOUT查询增加了某查询所返回的相关文档的数目。在英语中，ABOUT&nbsp;查询可以使用索引的主题词组件，该组件在默认情况下创建。这样，运算符将根据查询的概念返回文档，而不是仅依据所指定的精确单词或短语。例如，以下查询将查找文本列中关于主题&nbsp;politics&nbsp;的所有文档，而不是仅包含&nbsp;politics&nbsp;一词的文档：<br/><br/>Sel&#101;ct&nbsp;SCORE(1)&nbsp;title&nbsp;from&nbsp;news&nbsp;Wh&#101;re&nbsp;CONTAINS(text,&nbsp;’about(politics)’,&nbsp;1)&nbsp;&gt;0;]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/default.asp?id=66" /> 
	  <id>http://www.xd-tech.com/blog/default.asp?id=66</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[完美解决Discuz 论坛大数据量的全文检索问题]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.xd-tech.com/blog/</uri>
		 <email>jaddy0302@126.com</email>
	  </author>
	  <category term="" scheme="http://www.xd-tech.com/blog/default.asp?cateID=4" label="搜索引擎" /> 
	  <updated>2008-10-15T14:45:46+08:00</updated>
	  <published>2008-10-15T14:45:46+08:00</published>
		  <summary type="html"><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;使用Discuz的朋友一定有这样的经历,&nbsp;那就是在数据量达到一定规模时(100W以上),检索速度往往力不从心；mysqld-nt.exe这个进程占用CPU资源很大&nbsp;,经常在50以上；多人同时请求,会导致系统的瓶颈,甚至宕机。使用本身PHP&nbsp;LIKE&nbsp;MYSQL的效率实在不敢恭维；然而Discuz本身就加入了QIHOO搜索来解决这些问题，大多数用户对搜索的结果也不是很满意，靠QIHOO收录大约也得需要2-6小时，关键是自己辛苦建站流量却成QIHOO的。很多朋友希望有一个完美的解决方案，但是事实的真相是残酷的，这个完美的方案可能让你绞尽脑汁还是两手空空。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;今天我给大家带来的引擎构建于J2EE平台，继承了它跨平台和安全的特性，内置的中文语言处理引擎支持从抓取的数据中自动提取关键字与自动生成摘要、采用增量采集方式，对于已经采集过的数据不会重复抓取，通过后台的配置，可以自动对于已经变动过的数据内容进行再次抓取，这并不需要太多的人工干预。然后建立系统独立的索引供用户检索；下面是我们单台服务器检索性能.<br/><br/>原文&nbsp;地址：<a href="http://hi.baidu.com/xd%5Ftech/blog/item/e614a2f8aa43ad0ad9f9fd02.html" target="_blank">http://hi.baidu.com/xd%5Ftech/blog/item/e614a2f8aa43ad0ad9f9fd02.html</a>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/default.asp?id=64" /> 
	  <id>http://www.xd-tech.com/blog/default.asp?id=64</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[使用站内检索的五大理由]]></title>
	  <author>
		 <name>christian</name>
		 <uri>http://www.xd-tech.com/blog/</uri>
		 <email>jaddy0302@126.com</email>
	  </author>
	  <category term="" scheme="http://www.xd-tech.com/blog/default.asp?cateID=4" label="搜索引擎" /> 
	  <updated>2007-12-07T13:35:03+08:00</updated>
	  <published>2007-12-07T13:35:03+08:00</published>
		  <summary type="html"><![CDATA[<font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本文主要介绍站内检索对internet网站的五大作用：所寻即所得；了解访问者的意图；符合网民的习惯；提升网站信息的价值；身份的象征。最后介绍目前的网际搜索引擎不能替代站内检索的原因。<br /></font>
<p class="MSONORMAL" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times=""></span>&nbsp;</p>
<br />
<p class="MSONORMAL" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">自从有了计算机以后，人类开始用计算机保存信息，有保存，就有查找，于是检索技术诞生了。文本检索技术的发展从最初的</span><span lang="EN-US"><font face="Times New Roman">SMART</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">文档检索系统</span><span lang="EN-US"><font face="Times New Roman">[1]</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">到</span><span lang="EN-US"><font face="Times New Roman">Altavista</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">搜索引擎，到现在的搜索巨头</span><span lang="EN-US"><font face="Times New Roman">Google[2]</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">，其发展可谓日新月异、与时具进，人们开始习惯互联网的搜索时代，站内检索的需求也逐渐显露出来。下面列举需要站内检索的五大理由：</span></p>
<br />
<p class="MSONORMAL" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times=""></span>&nbsp;</p>
<br />
<p class="MSONORMAL" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="mso-bidi-font-family: 宋体"><span style="mso-list: Ignore"><font face="Times New Roman">一、</font></span></span><b style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 11.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">所寻即所得</span></b><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">。</span></p>
<br />
<p class="MSONORMAL" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">信息量总在不断增长，而访问者的耐心却逐渐下降。据统计，每需要多点击一次鼠标，就有三分之一的用户选择放弃。这意味着</span><span lang="EN-US"><font face="Times New Roman">100</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">个访问者进入我们的网站，如果需要点击</span><span lang="EN-US"><font face="Times New Roman">三</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">次鼠标才能找到所需要的东西，那么就只剩下不到</span><span lang="EN-US"><font face="Times New Roman">4</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">个人了。根据第十一次中国互联网信息调查表明，</span><span lang="EN-US"><font face="Times New Roman">53.1%</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">的人上网是为了获取信息</span><span lang="EN-US"><font face="Times New Roman">[3]</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">，大部分网站的目的是让外界了解自己，了解的人越多，效果就越好。把访问者最想要的返回给用户，就可让更多的用户了解自己，这样站内检索成为必然选择。</span></p>
<br />
<p class="MSONORMAL" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times=""></span>&nbsp;</p>
<br />
<p class="MSONORMAL" style="MARGIN: 0cm 0cm 0pt"><b style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 11.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">二、了解访问者的意图。</span></b><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="FONT-SIZE: 11.5pt; mso-bidi-font-size: 12.0pt">
<p>&nbsp;</p>
</span></b></p>
<br />
<p class="MSONORMAL" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">管理大师彼得</span><span lang="EN-US"><font face="Times New Roman">.</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">德鲁克说：&ldquo;一定要知道你的客户想要什么？&rdquo;客户的需求永远都是最重要的，因此我们总在分析我们的客户在哪里及他们需要什么。所有访问我们网站的人都可能是我们的潜在客户，了解他们的意图对于我们做决策很重要。站内检索技术可以实现这个功能，站内检索的日志功能可以记录每个访问者的检索词和检索结果，这是访问者意图的最直接的表现。通过分析这些信息，我们还可以调整网站结构，把访问者最想要的放在明显的位置（了解我们的人就多啦）。这个理由经常被人忽视，我在这里放在第二位也是希望引起大家重视，特别是那些已经使用站内检索的网站所有者。</span></p>
<br />
<p class="MSONORMAL" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times=""></span>&nbsp;</p>
<br />
<p class="MSONORMAL" style="MARGIN: 0cm 0cm 0pt 23.25pt; TEXT-INDENT: -23.25pt; mso-list: l1 level1 lfo2; tab-stops: list 23.25pt"><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="FONT-SIZE: 11.5pt; mso-bidi-font-family: 宋体; mso-bidi-font-size: 12.0pt"><span style="mso-list: Ignore"><font face="Times New Roman">三、<span style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; LINE-HEIGHT: normal; FONT-STYLE: normal; FONT-VARIANT: normal" new="" times="">&nbsp; </span></font></span></span></b><b style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 11.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">符合网民习惯。</span></b><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="FONT-SIZE: 11.5pt; mso-bidi-font-size: 12.0pt">
<p>&nbsp;</p>
</span></b></p>
<br />
<p class="MSONORMAL" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">根据调查表明，</span><span lang="EN-US"><font face="Times New Roman">68.3</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">％的上网者经常使用搜索引擎[3]。大部分人已经习惯通过检索来找到他们想要的东西，而不是按照某个栏目一级一级往下找(我就很少用yahoo的分类目录）。在网站内访问者要是没看见那熟悉的按钮会多少有些不习惯（我们千万不要让上帝感到不习惯）。在心理学角度讲，人们如果对某个事物不习惯很容易产生厌烦情绪，这也就是为什么你第一次去某个地方会觉得特别远，要是路熟了这种感觉就消失了。看来，为了上帝我们也需要使用站内检索。</span></p>
<br />
<p class="MSONORMAL" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times=""></span>&nbsp;</p>
<br />
<p class="MSONORMAL" style="MARGIN: 0cm 0cm 0pt 23.25pt; TEXT-INDENT: -23.25pt; mso-list: l1 level1 lfo2; tab-stops: list 23.25pt"><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="FONT-SIZE: 11.5pt; mso-bidi-font-family: 宋体; mso-bidi-font-size: 12.0pt"><span style="mso-list: Ignore"><font face="Times New Roman">四、<span style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; LINE-HEIGHT: normal; FONT-STYLE: normal; FONT-VARIANT: normal" new="" times="">&nbsp; </span></font></span></span></b><b style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 11.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">提升网站信息价值。</span></b><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="FONT-SIZE: 11.5pt; mso-bidi-font-size: 12.0pt">
<p>&nbsp;</p>
</span></b></p>
<br />
<p class="MSONORMAL" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">我们经常会发生这样的事情：明明记得有一篇写关于吃香辣虾的文件，就是想不起存放在什么地方了。访问者也有类似困扰，只记得某个网站上说了关于张国荣跳楼的消息，但不知道具体的链接在哪里。另外，要是隐藏在目录很深的</span><span lang="EN-US"><font face="Times New Roman">html</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">文档可能自从网站建立到整个网站关闭也没有一个人看过，这些都不是我们所想要的。站内检索毫无疑问可以解决上述问题。同时，按照一个主题把所有相关文档提供给访问者，可以让访问者更全面的了解他所想要的东西，这增加了网站信息间的组织性和逻辑性，方便了访问者的使用，提升用户体验度（用户体验度：一个让我们忐忑不安的名词）。</span></p>
<br />
<p class="MSONORMAL" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times=""></span>&nbsp;</p>
<br />
<p class="MSONORMAL" style="MARGIN: 0cm 0cm 0pt 23.25pt; TEXT-INDENT: -23.25pt; mso-list: l1 level1 lfo2; tab-stops: list 23.25pt"><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="FONT-SIZE: 11.5pt; mso-bidi-font-family: 宋体; mso-bidi-font-size: 12.0pt"><span style="mso-list: Ignore"><font face="Times New Roman">五、<span style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; LINE-HEIGHT: normal; FONT-STYLE: normal; FONT-VARIANT: normal" new="" times=""> </span></font></span></span></b><b style="mso-bidi-font-weight: normal"><span style="FONT-SIZE: 11.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">身份的象征。</span></b><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="FONT-SIZE: 11.5pt; mso-bidi-font-size: 12.0pt">
<p>&nbsp;</p>
</span></b></p>
<br />
<p class="MSONORMAL" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">有没有站内检索其实已经不只是用户体验度的问题了，还是一个网站专业身份的象征。浏览国外公司的网站，会发现几乎所有网站都在首页最明显的区域放置了一个搜索框，这传达的信息是：专业的网站都有站内检索（呵呵，我没说国外网站就是专业网站）。网民的心态是：我用不用，你管不着，你要是没有就说明你不够专业。为了树立形象，也需要使用站内检索。</span></p>
<br />
<p class="MSONORMAL" style="MARGIN: 0cm 0cm 0pt 21pt"><span lang="EN-US">
<p><font face="Times New Roman">&nbsp;</font></p>
</span></p>
<br />
<p class="MSONORMAL" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">最后还得解释一个问题：为什么有了搜索引擎还需要站内检索？用网际搜索引擎不是直接可以查到吗？这其中有两个问题：</span><span lang="EN-US"><font face="Times New Roman">1 </font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">搜索羽毛球，你会搜索到</span><span lang="EN-US"><font face="Times New Roman">235,000</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">个网页</span><span lang="EN-US"><font face="Times New Roman">[4]</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">，也不知道我公司的排在第</span><span lang="EN-US"><font face="Times New Roman">10,000</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">页还是</span><span lang="EN-US"><font face="Times New Roman">10,001</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">页，搜索者可能永远也不会去看。</span><span lang="EN-US"><font face="Times New Roman">2 </font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">搜索引擎通过网络</span><span lang="EN-US"><font face="Times New Roman">Spider</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: " new="" times="">收集网页，对于网站内隐藏很深的网页很难索引到的。</span></p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/default.asp?id=62" /> 
	  <id>http://www.xd-tech.com/blog/default.asp?id=62</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[站内搜索引擎之比较〔转〕]]></title>
	  <author>
		 <name>christian</name>
		 <uri>http://www.xd-tech.com/blog/</uri>
		 <email>jaddy0302@126.com</email>
	  </author>
	  <category term="" scheme="http://www.xd-tech.com/blog/default.asp?cateID=4" label="搜索引擎" /> 
	  <updated>2007-12-07T12:02:43+08:00</updated>
	  <published>2007-12-07T12:02:43+08:00</published>
		  <summary type="html"><![CDATA[<table cellspacing="0" cellpadding="0" width="100%" border="0">
    <tbody>
        <tr>
            <td style="PADDING-LEFT: 15px; HEIGHT: 25px">关键词：<a href="http://www.xd-tech.com.cn/insitesepro.html">站内搜索</a> </td>
        </tr>
        <tr>
            <td style="PADDING-RIGHT: 20px; PADDING-LEFT: 15px; LINE-HEIGHT: 17px" valign="top" height="300">
            <p><br />&nbsp;&nbsp;&nbsp;&nbsp; 有很多网站都在网页上加个&ldquo;站内搜索引擎&rdquo;、&ldquo;搜索引擎&rdquo;、&ldquo;全文检索&rdquo;等等相关字样。<br />&nbsp;&nbsp;&nbsp;&nbsp; 用户一用，结果发现，既不能多关键组合查询，也不能支持国际语法，甚至不能支持全文检索，就更别谈不支持相关性排序等真正的搜索引擎具备的功能了。这些搜索和真正的站内搜索引擎有和区别呢？<br />&nbsp;&nbsp;&nbsp;&nbsp; 真正的全文检索应具备 相关性排序技术 和 分词索引功能。 如果需要进行互联网的信息抓取和采集那么还需要网络蜘蛛模块。 分词、索引、排序这是全文检索的基本和核心，缺一不可。全文检索至少需要具备中文分词、索引、相关性排序功能。<br />&nbsp;&nbsp;&nbsp;&nbsp; 所以简单考查一个站内搜索引擎的真伪只需要知道：能否实现相关性排序、国际标准的搜索语法、动态摘要、飘红、支持海量数据多并快速发查询、搜索耗时极短。<br />（当然这只是全文检索的基本内容，一个全文检索的搜索引擎的品质好坏还和相关的技术水平、各种技术的结合、产品的管理有很大关系。 评价全文检索的标准是用户体验度，今后我们会提供相关方面的内容）</p>
            <br />
            <p><strong>常用的站内搜索技术比较： </strong></p>
            <br />
            <table style="BORDER-COLLAPSE: collapse" bordercolor="#999999" cellpadding="2" width="700" border="1">
                <tbody>
                    <tr>
                        <td width="89">　</td>
                        <td width="145"><b>基于数据库的搜索</b></td>
                        <td width="218"><b>基于spider抓取的站内搜索</b></td>
                        <td width="243"><b>全文检索者站内搜索软件系统</b></td>
                    </tr>
                    <tr>
                        <td width="89"><b>原理 </b></td>
                        <td width="145">数据库搜索</td>
                        <td width="218">通过Spider抓取网页，经html解析，分词，索引实现网页式站内搜索。</td>
                        <td width="243">对数据库数据进行html解析、图片缩略，分词，索引，实现站内搜索。</td>
                    </tr>
                    <tr>
                        <td width="89"><b>检索效率</b></td>
                        <td width="145">非常低下 消耗大量硬件资源</td>
                        <td width="218">高效</td>
                        <td width="243">高效</td>
                    </tr>
                    <tr>
                        <td width="89"><b>检索范围</b></td>
                        <td width="145">无法完成全文检索（可以用sql的单字索引功能最简单的完成索引功能实现最低级的全文检索），只能进行标题检索。 数据库效率太低，无法开展各种附加功能。</td>
                        <td width="218">网页检索 优点：不需要做各种工作，直接即可使用 缺点： 1.有大量的不必要的信息影响搜索结果的排序和显示的效果。严重影响精确度。 2.部分页面无法抓取到。 3.用户对搜索范围和内容以及体现的结果无法精确控制</td>
                        <td width="243">标题＋内容 基于内容分析的排序方法。基于内容分析排序是最佳的排序方法。 标题和内容可控制，搜索结果准确到位。 内容可控，用户可对搜索的内容范围和体现的结果进行精确的控制</td>
                    </tr>
                    <tr>
                        <td width="89"><b>检索语法</b></td>
                        <td width="145">无</td>
                        <td width="218">支持标准的国际搜索语法。</td>
                        <td width="243">支持标准的国际搜索语法。</td>
                    </tr>
                    <tr>
                        <td width="89"><b>动态摘要</b></td>
                        <td width="145">无</td>
                        <td width="218">摘要内容不清晰各种垃圾信息过多</td>
                        <td width="243">提供动态摘要，摘要清晰精确，便于用户快速寻找到需要的信息。</td>
                    </tr>
                    <tr>
                        <td width="89"><b>关键词飘红</b></td>
                        <td width="145">无</td>
                        <td width="218">有</td>
                        <td width="243">有</td>
                    </tr>
                    <tr>
                        <td width="89"><b>内容的范围</b></td>
                        <td width="145">可控制</td>
                        <td width="218">不可有效控制，动态网页抓取效果不佳，没有链接的网页无法抓取，页面出现杂乱信息影响搜索结果。对于时间控制也无法做到精准，对于栏目的归属无法做到准确。</td>
                        <td width="243">可有效控制，您可以把多个字段拆分合并，可以确定那些需要，哪些不需要。所有动态网页和没有链接的网页均可有效收入。 栏目控制精准。</td>
                    </tr>
                    <tr>
                        <td width="89"><b>图片缩略</b></td>
                        <td width="145">无</td>
                        <td width="218">无</td>
                        <td width="243">有</td>
                    </tr>
                    <tr>
                        <td width="89"><b>同义词</b></td>
                        <td width="145">无</td>
                        <td width="218">无</td>
                        <td width="243">有</td>
                    </tr>
                    <tr>
                        <td width="89"><b>相关性排序</b></td>
                        <td width="145">无</td>
                        <td width="218">有</td>
                        <td width="243">有</td>
                    </tr>
                    <tr>
                        <td width="89"><b>其他</b></td>
                        <td width="145">低效率低质量的平台无法开展增值服务</td>
                        <td width="218">二次研发成本高</td>
                        <td width="243">具有持续不断的升级能力和良好的售后服务。</td>
                    </tr>
                    <tr>
                        <td width="89"><b>成本</b></td>
                        <td width="145">低</td>
                        <td width="218">价格高 </td>
                        <td width="243">以产品形式运作，多家客户分摊成本，成本相对低廉。运维成本低。 </td>
                    </tr>
                    <tr>
                        <td width="89"><b>维护成本</b></td>
                        <td width="145">&nbsp;不大 </td>
                        <td width="218">维护量不大。</td>
                        <td width="243">程序维护无须投入，但是需要进行一定量的内容维护。 经过简单培训即可胜任。</td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/default.asp?id=61" /> 
	  <id>http://www.xd-tech.com/blog/default.asp?id=61</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[Windows 下运行Hadoop的脚本]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.xd-tech.com/blog/</uri>
		 <email>jaddy0302@126.com</email>
	  </author>
	  <category term="" scheme="http://www.xd-tech.com/blog/default.asp?cateID=4" label="搜索引擎" /> 
	  <updated>2007-10-10T22:22:27+08:00</updated>
	  <published>2007-10-10T22:22:27+08:00</published>
		  <summary type="html"><![CDATA[<p>将以下文本内容存放入HADOOP_HOME\bin 目录下 ， 命名为hadoop.bat，将set HADOOP_HOME=C:\work\hadoop 修改为HADOOP存放的目录，设置一下JAVA_HOME，然后命令行进入 HADOOP_HOME\bin 目录下 ，运行 hadoop 就可以看到效果了。<br />需要注意的是 Hadoop 运行datanode 的时候，它使用了 Runtime 执行操作系统命令 df -k 来获得存储空间信息，而windows 下是不支持这个命令的，所以需要修改一下org.apache.hadoop.fs.DF.java 的 141 行左右如下：</p>
<p>&nbsp; private String[] getExecString() {<br />&nbsp;&nbsp;&nbsp; return new String[] {&quot;df&quot;,&quot;-k&quot;, dirPath};<br />&nbsp; }</p>
<p>把这个命令改掉后编译打包就OK了</p>
<p>@echo off<br />set JAVA_HEAP_MAX=&quot;-Xmx1000m&quot;<br />set JAVA=$JAVA_HOME/bin/java</p>
<p>if not &quot;%1&quot;==&quot;&quot; goto INIT else goto echoMSG<br />:echoMSG&nbsp; <br />&nbsp; echo Title:欢迎使用北京线点科技&nbsp;Hadoop 运行脚本<br />&nbsp; echo Author:jaddy0302 mail:jaddy0302@126.com QQ:5622928<br />&nbsp; echo Site:http://www.xd-tech.com.cn 线点科技 专业垂直搜索引擎产品<br />&nbsp; echo Usage: hadoop [--config confdir] COMMAND<br />&nbsp; echo where COMMAND is one of:<br />&nbsp; echo&nbsp;&nbsp; namenode -format&nbsp;&nbsp;&nbsp;&nbsp; format the DFS filesystem<br />&nbsp; echo&nbsp;&nbsp; secondarynamenode&nbsp;&nbsp;&nbsp; run the DFS secondary namenode<br />&nbsp; echo&nbsp;&nbsp; namenode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; run the DFS namenode<br />&nbsp; echo&nbsp;&nbsp; datanode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; run a DFS datanode<br />&nbsp; echo&nbsp;&nbsp; dfsadmin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; run a DFS admin client<br />&nbsp; echo&nbsp;&nbsp; fsck&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; run a DFS filesystem checking utility<br />&nbsp; echo&nbsp;&nbsp; fs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; run a generic filesystem user client<br />&nbsp; echo&nbsp;&nbsp; jobtracker&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; run the MapReduce job Tracker node <br />&nbsp; echo&nbsp;&nbsp; pipes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; run a Pipes job<br />&nbsp; echo&nbsp;&nbsp; tasktracker&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; run a MapReduce task Tracker node <br />&nbsp; echo&nbsp;&nbsp; job&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; manipulate MapReduce jobs <br />&nbsp; echo&nbsp;&nbsp; version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print the version<br />&nbsp; echo&nbsp;&nbsp; jar jar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; run a jar file<br />&nbsp; echo&nbsp;&nbsp; distcp srcurl desturl copy file or directories recursively<br />&nbsp; echo&nbsp; or<br />&nbsp; echo&nbsp;&nbsp; CLASSNAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; run the class named CLASSNAME<br />&nbsp; echo Most commands print help when invoked w/o parameters.<br />&nbsp; goto end;<br />:INIT&nbsp; <br />&nbsp; set HADOOP_HOME=C:\work\hadoop<br />&nbsp; if &quot;%HADOOP_HOME%&quot;==&quot;&quot; set HADOOP_HOME=..&nbsp; <br />&nbsp; set CLASSPATH=%HADOOP_HOME%;%HADOOP_HOME%\conf;%JAVA_HOME%/lib/tools.jar;<br />&nbsp; set HADOOP_LOG_DIR=%HADOOP_HOME%/logs<br />&nbsp; set HADOOP_LOGFILE=hadoop.log<br />&nbsp; @echo @echo off&gt;setclasspath.bat<br />&nbsp; for %%i in (%HADOOP_HOME%\hadoop-*.jar) do @echo set CLASSPATH=%%CLASSPATH%%%%i&gt;&gt;setclasspath.bat;<br />&nbsp; for %%i in (%HADOOP_HOME%\lib\*.jar) do @echo set CLASSPATH=%%CLASSPATH%%%%i&gt;&gt;setclasspath.bat;<br />&nbsp; for %%i in (%HADOOP_HOME%\lib\jetty-ext\*.jar) do @echo set CLASSPATH=%%CLASSPATH%%%%i&gt;&gt;setclasspath.bat;<br />&nbsp; goto EXEC<br />:EXEC<br />&nbsp; call setclasspath.bat<br />&nbsp; if&nbsp; &quot;%1&quot; == &quot;namenode&quot; set CLASS=org.apache.hadoop.dfs.NameNode<br />&nbsp; if&nbsp; &quot;%1&quot; == &quot;secondarynamenode&quot; set CLASS=org.apache.hadoop.dfs.SecondaryNameNode<br />&nbsp; if&nbsp; &quot;%1&quot; == &quot;datanode&quot; set&nbsp; CLASS=org.apache.hadoop.dfs.DataNode<br />&nbsp; if&nbsp; &quot;%1&quot; == &quot;fs&quot; set&nbsp; CLASS=org.apache.hadoop.fs.FsShell<br />&nbsp; if&nbsp; &quot;%1&quot; == &quot;dfs&quot; set&nbsp; CLASS=org.apache.hadoop.fs.FsShell<br />&nbsp; if&nbsp; &quot;%1&quot; == &quot;dfsadmin&quot; set&nbsp; CLASS=org.apache.hadoop.dfs.DFSAdmin<br />&nbsp; if&nbsp; &quot;%1&quot; == &quot;fsck&quot; set&nbsp; CLASS=org.apache.hadoop.dfs.DFSck<br />&nbsp; if&nbsp; &quot;%1&quot; == &quot;jobtracker&quot; set&nbsp; CLASS=org.apache.hadoop.mapred.JobTracker<br />&nbsp; if&nbsp; &quot;%1&quot; == &quot;tasktracker&quot; set&nbsp; CLASS=org.apache.hadoop.mapred.TaskTracker<br />&nbsp; if&nbsp; &quot;%1&quot; == &quot;job&quot; set&nbsp; CLASS=org.apache.hadoop.mapred.JobClient<br />&nbsp; if&nbsp; &quot;%1&quot; == &quot;pipes&quot; set&nbsp; CLASS=org.apache.hadoop.mapred.pipes.Submitter<br />&nbsp; if&nbsp; &quot;%1&quot; == &quot;version&quot; set&nbsp; CLASS=org.apache.hadoop.util.VersionInfo<br />&nbsp; if&nbsp; &quot;%1&quot; == &quot;jar&quot; set&nbsp; CLASS=org.apache.hadoop.util.RunJar<br />&nbsp; if&nbsp; &quot;%1&quot; == &quot;distcp&quot; set&nbsp; CLASS=org.apache.hadoop.util.CopyFiles<br />goto SPLI<br />:SPLI<br />&nbsp; set HADOOP_OPTS=<br />&nbsp; set HADOOP_OPTS=%HADOOP_OPTS% -Dhadoop.log.dir=%HADOOP_LOG_DIR%<br />&nbsp; set HADOOP_OPTS=%HADOOP_OPTS% -Dhadoop.log.file=%HADOOP_LOGFILE%<br />&nbsp; set HADOOP_OPTS=%HADOOP_OPTS% -Dhadoop.home.dir=%HADOOP_HOME%<br />&nbsp; set HADOOP_OPTS=%HADOOP_OPTS% -Dhadoop.id.str=%HADOOP_IDENT_STRING%<br />&nbsp; call &quot;%JAVA_HOME%\bin\java&quot; %JAVA_HEAP_MAX% %HADOOP_OPTS% -classpath &quot;%CLASSPATH%&quot; %CLASS% %2 %3 %4 %5 %6 %7 %8 %9<br />&nbsp; rem if &quot;%ERRORLEVEL%&quot; == &quot;1&quot; goto SPLI else goto end&nbsp; <br />:end<br /></p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.xd-tech.com/blog/default.asp?id=60" /> 
	  <id>http://www.xd-tech.com/blog/default.asp?id=60</id> 
  </entry>	
		
</feed>