菜头粿

查看: 160|回复: 0
打印 上一主题 下一主题

你也可以建立一个Google

[复制链接]
1#
跳转到指定楼层
发表于 2009-8-29 12:13:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式



  

你也可以建立一个Google[原创]  
这几天我了解了实现一个搜索引擎的基本原理。
其实原理也不是很复杂。
一个搜索引擎基本要有以下几个部分组成:网页下载,数据抽取,生成索引,语义分析,智能搜索。
1.你要有个能够下载网站网页的程序。这种工具网上也有很多。
2.把网页下载到本地后要对数据进行抽取,主要是抽取出网页的正文部分,去掉广告和其他杂项,保留正文内容。
3.把正文内容保存到服务器本地的TXT文件中后要对这些抽取出来的内容进行建索引,以供查询。索引包括摘要,内容,URL。索引的存在形式可以存在索引库或生成二进制的过程文件。
4.提供一个供用户输入搜索内容的界面(有个文本框就行了)。
5.对用户的输入的自然语言进行词义,词性分析。如"我爱中国共产党"。把它分为"我爱中国共产党","中国共产党","中国","共产党"等,并分动词、名词;主谓语等。实现方式是将用户输入的内容与一个庞大的词库对比来进行分词的。
6.智能搜索。这是整个搜索引擎的核心,也是关键部分。你把所分的词在你的索引库中通过数据、文档挖掘算法进行智能搜索。并且根据所搜索的内容的关联度按顺序排列。这部分比较复杂。如果要做得好还要包括好的算法,除重,除无效链接,通过比率计算关连度等。
7.把搜索结果以网页形式返回给用户。至此,基本实现一个完整的搜索引擎的基本功能。
原理总是那么简单,但是实现起来效果好坏会因为你的实现方式不同而不同。
而且在细节处理上就没看上去那么简单了。
1.能够下载网站网页的工具很多,但是你如果要进行分类搜索自动下载,并在下载过程还要除重,还要加入你自已的一些控制标识就不是那么容易的了。
2.对下载后的网页进行数据抽取也不是很难,前提是你所下载网页的格式差不多。
3.进行索引,索引的形式会影响到你搜索的速度,你总不想让用户等上半天吧。
4.比较简单。
5.也需要好的分析算法。还要支持+,%等特殊符号的处理,象Google它甚至能够进行错别字分析。
6.难,如何在庞大的数据库中通过复杂的搜索,而又要保证效率让用户能够忍受。还要考虑如何通过分析搜索到相关度比较高的信息。
7.容易。
此外你的搜索引擎如果支持进阶搜索,如何除重,除无效链接。如何能使多台服务器同时进行处理而不会重复工作,并协各服务器之间的均衡负载。
最后,你如果只有几台服务器在那边慢慢地下载的话,对Internet这么庞大的信息量来说,很难保证信息的及时更新和有足够的空间保留这些信息,所以起码要买个几百台的高性能服务器。那就需要大量的¥了。
唉看来说容易是容易,但说难也很难,关键是实现程度和效果。

2004-9-9 13:24:00   







































高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|Archiver| 菜头粿 声明:本站所发贴子内容仅代表网友观点,不代表本站立场,严禁一切与国家法律相抵触的内容。感谢关注!
粤icp备19073828

GMT+8, 2026-7-26 14:00 , Processed in 0.077936 second(s), 15 queries .

粤东.中国

© 2007-2026 czczcz.com

快速回复 返回顶部 返回列表