(2008,2011)搜索引擎应用技术(未完成)

(2008,2011)搜索引擎应用技术(未完成)

ID:34083295

大小:512.00 KB

页数:40页

时间:2019-03-03

(2008,2011)搜索引擎应用技术(未完成)_第1页
(2008,2011)搜索引擎应用技术(未完成)_第2页
(2008,2011)搜索引擎应用技术(未完成)_第3页
(2008,2011)搜索引擎应用技术(未完成)_第4页
(2008,2011)搜索引擎应用技术(未完成)_第5页
资源描述:

《(2008,2011)搜索引擎应用技术(未完成)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、搜索引擎应用技术By冲出宇宙时间:2008年1月搜索引擎应用技术By冲出宇宙时间:2008年1月第1页搜索引擎应用技术By冲出宇宙时间:2008年1月本文不是入门文章!第2页搜索引擎应用技术By冲出宇宙时间:2008年1月基础篇1信息检索及搜索引擎简介首先,推荐大家学习《现代信息检索》(作者?)、《搜索引擎技术》(作者李晓明等)、中科院信息检索课件(作者王斌)和《IntroductiontoInformationRetrieval》(作者D.Manning等)这几本书(或电子资料)。以下笔者假设你已经认真学习过上述资料。信息检索能做什么?其实只有一件事

2、:从一堆信息里面找出大概是你想要的一些。在之前的40年里,这个工作一直都由数据库完成。回想一下,商业公司用数据库查询最近半月的营业额和查询购买超过10万的大客户。所以:现代信息检索来源于数据库技术。那现代信息检索技术和传统数据库技术相比有什么不同?数据库难以处理维度很高的数据。我们知道,任何一个数据都可以映射到多维空间。比如数据库里面的记录,其实就是映射到了一个多维空间,其中,每个列是一个维度。一些数据库能够定义最多1024个维度(列),而这个值在许多应用里都很不够。数据库还难以处理空间范围查询,更不用说对数据进行挖掘了。搜索引擎是一种信息检索系统,它

3、通过计算机来完成信息检索的过程。本文将主要讨论搜索引擎应用技术。有关信息检索和搜索引擎的历史和一些基本介绍,大家同样可以看answers上面的介绍,地址为:http://www.answers.com/search+engine?cat=technology和http://www.answers.com/topic/web-search-engine?cat=technology。这里提醒大家:搜索引擎有很多很多种,常用的百度和google只是其中的一种(网络搜索引擎)。常见的还有:企业搜索引擎、个人桌面搜索和最近很火爆的移动平台搜索引擎。其中,只有基

4、于网络的搜索引擎才需要蜘蛛技术。蜘蛛技术不在本文的讨论范围内。2搜索引擎应用2.1你真的需要搜索引擎?请记住:单独的搜索引擎不是必须的!最近的很多数据库系统都和基本的搜索引擎进行了结合。请注意几个例子:数据库的全文索引、mysql+sphinx的搜索数据库系统、ThunderStone公司的TEXIS(搜索+数据库系统)。这几个做法都可以运用到顶级需求上面。笔者推荐大家在做决定之前,先了解业内的解决方案和用户需求,然后确定你是否真的需要一个单独的搜索引擎。以笔者有限的了解来看,90%以上的用户并不需要单独的搜索引擎。第3页搜索引擎应用技术By冲出宇宙时

5、间:2008年1月给大家举几个例子:、1)个人桌面搜索:这个应用连mysql都用不着出马,完全可以使用嵌入式的db系统,如sqlite;实际应用上,据说微软的桌面搜索系统是基于Lucene的;2)站内搜索:BBS网站,发帖1万/天,pv100万/天,搜索10万/天。使用mysql的全文检索即可满足需要;3)英文文献搜索:文献检索,数据亿级,搜索100万/天,对检索速度有要求。可以使用mysql+sphinx的组合;4)Ebay:ebay每天检索量上10亿,商品量上10亿,sql语句执行过30亿。当初Ebay直接在TEXIS的基础上构建了2维分布式系统,

6、现在他们自己设计了一个新的简单快速智能的搜索系统:Magellan(这个名字其实是一个早年搜索引擎的名字);5)google:上千亿数据,上百种语言,N亿检索每天……。不要看了,本文无法给你提供技术,也无法给你提供建议。他们需要的技术远远超过1个人的能力。2.2避免重新发明轮子不要重新发明轮子。这句名言用在哪里都合适。当你决定用一个单独的搜索引擎的时候,应该先找一找是否已经有可用的解决方案了。2.3已有的搜索解决方案解决方案太多,笔者只知道一些。最基础的搜索解决方案,笔者推荐2个:Lucene和Sphinx。如果你比较爱国,推荐你使用firtex(中科

7、院的学生开发的,但缺乏维护)。他们都是纯粹的检索系统,把文档填进去,然后就能检索了。Lucene有多种语言版本,包括java(Lucene)、.net(Lucene.net)、c++(CLuncene)等。Sphinx只有c++版本,但有多个语言的接口。经验上表明,c/c++版本的搜索系统在构建索引的时候,速度比java/c#的版本要快几倍;在并行性能上,c/c++的版本效果也要好很多;其他未见太大差距。国外有人也做过对比,参考PeterZaitsev,VadimTkachenko.highperformancefulltextsearchfordat

8、abasecontent。Lucene大名鼎鼎,在其基础之上,存在各种面向具体应用的解决方案。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。