老早就想做个收索引擎了,苦于学业太重,没时间做,现在学校的课程也没了,开始完成我的收索引擎了,吼~~~
网上找了些资料,总算搞明白了什么是收索引擎,原来很复杂,很复杂,但我会坚持。。。
搜索引擎按其工作方式主要可分为三种,分别是全文搜索引擎(Full Text Search Engine)、目录索引类搜索引擎(Search Index/Directory)和元搜索引擎(Meta Search Engine)。
全文搜索引擎是名副其实的搜索引擎,国外具代表性的有Google、Fast/AllTheWeb、AltaVista、Inktomi、Teoma、WiseNut等,国内著名的有百度(Baidu)。它们都是通过从互联网上提取的各个网站的信息(以网页文字为主)而建立的数据库中,检索与用户查询条件匹配的相关记录,然后按一定的排列顺序将结果返回给用户,因此他们是真正的搜索引擎。目录索引虽然有搜索功能,但在严格意义上算不上是真正的搜索引擎,仅仅是按目录分类的网站链接列表而已。用户完全可以不用进行关键词(Keywords)查询,仅靠分类目录也可找到需要的信息。目录索引中最具代表性的莫过于大名鼎鼎的Yahoo雅虎。其他著名的还有Open Directory Project(DMOZ)、LookSmart、About等。国内的搜狐、新浪、网易搜索也都属于这一类。元搜索引擎 (META Search Engine)在接受用户查询请求时,同时在其他多个引擎上进行搜索,并将结果返回给用户。著名的元搜索引擎有InfoSpace、Dogpile、Vivisimo等(元搜索引擎列表),中文元搜索引擎中具代表性的有搜星搜索引擎。在搜索结果排列方面,有的直接按来源引擎排列搜索结果,如Dogpile,有的则按自定的规则将结果重新排列组合,如Vivisimo。
我是要做的是全文搜索引擎,继续。。。
从搜索结果来源的角度,全文搜索引擎又可细分为两种,一种是拥有自己的检索程序(Indexer),俗称“蜘蛛”(Spider)程序或“机器人”(Robot)程序,并自建网页数据库,搜索结果直接从自身的数据库中调用,如上面提到的7家引擎;另一种则是租用其他引擎的数据库,并按自定的格式排列搜索结果,如Lycos引擎。
看来还得找个“蜘蛛”(Spider)程序找资源,继续。。。
在网上找了很久,感觉Heritrix这个还蛮多人用的,决定用这个了。先得把它跑通吧,在SourceForge把它下载下来了,研究了下下,发现它可以在命令行下启动,也可以放在Eclipse里启动,那我当然选择在Eclipse里了,还能看源码,不错,照着网上的例子一步一步下来,终于成功,在JOB文件夹下看到了我要“爬”的网站资料。。。又用它试了几个网站,发现一个问题,同意的Heritrix配置,有时候能爬到数据,有时候就爬不到,难道有些网站还防“抓取”了,随便也“抓”了下javaeye,结果只“抓”到了个主页和几个图片,不懂了。。。有哪位大哥知道,请告诉一下小弟,谢谢!今天就到这,下次继续。。。
分享到:
相关推荐
首先,我们要理解Java作为编程语言在搜索引擎开发中的作用。Java以其跨平台性、强大的类库支持以及面向对象的特性,成为了构建复杂系统,如搜索引擎的常用语言。通过Java,开发者可以编写可移植、可维护的代码,处理...
在Android平台上,开发这样的应用需要结合多种技术,包括语音识别、自然语言处理、搜索引擎接口以及良好的用户界面设计。这里我们将深入探讨这些关键知识点。 首先,**语音识别**是整个系统的基石,它将用户的语音...
5. **自动提示(Autocomplete)**:文件名“类似google的收索引擎自动提示”表明包含有关自动完成的内容。自动提示是搜索引擎提升用户体验的重要功能,它基于用户的输入预测可能的查询,通常使用Trie树或倒排索引...
《深度学习搜索引擎开发:Java实现》是一本专著,它探讨了如何利用深度学习技术构建高效、智能的搜索引擎。本书的源代码包含了作者为阐述理论和技术而编写的Java程序,这些程序是理解并实践深度学习搜索引擎开发的...
【开发自己的搜索引擎】是一个充满挑战和创新的项目,它涉及到多个关键技术和概念。在这个实例中,我们不依赖于像Tomcat这样的服务器插件,而是从基础开始构建,以实现一个自定义的、独立的搜索解决方案。 一、搜索...
AJax实现引擎搜索是一种高效的网页交互技术,它允许在不刷新整个页面的情况下,与...总的来说,AJax实现的引擎搜索是一个综合性的Web开发实践,它展示了四大主流框架的协同工作,为用户提供高效、实时的搜索体验。
1. **掌握基础数据结构与算法**:对于想要从事搜索引擎开发的人来说,熟悉常见的数据结构(如数组、链表、树等)和算法(排序、查找等)是基本要求。 2. **了解信息检索原理**:深入理解信息检索理论可以帮助开发者...
1. **搜索引擎API接口集成**:源码会包含与各搜索引擎(如百度、谷歌、必应等)交互的接口代码,这些接口用于发送搜索请求并接收返回的结果。 2. **搜索请求处理**:源码中会有处理用户输入的搜索关键字,构建查询...
前台搜索页面" 提供了一个基于ASP.NET技术的搜索引擎开发示例,这个项目旨在模仿百度搜索引擎的功能和界面,帮助开发者了解如何构建一个类似的搜索引擎系统。 【描述】"asp.net源码搜索引擎.仿百度,后台包含爬虫...
1. Stockfish:作为目前公认的最强象棋引擎之一,Stockfish以其深蓝的开局库、高效的搜索算法和强大的中局处理能力著称。它使用多线程技术,能在多核处理器上实现并行计算,提高运算速度。 2. Komodo:Komodo是由...
1. **PDF格式**:PDF是Adobe公司开发的一种文件格式,用于表示各种设备和应用程序下的文档,无论在哪种操作系统或硬件环境下,都能保持一致的视觉效果。PDF文件可以包含文本、图像、超链接、表单字段和其他交互元素...
在IT行业中,搜索引擎开发是一项复杂而关键的任务,它涉及到数据抓取、索引构建、查询处理和结果排序等多个环节。本教程将聚焦于如何使用C#这一强大的编程语言来实现这一过程。C#,作为.NET框架的核心语言,拥有丰富...
在房产行业的垂直搜索引擎开发中,其主要目标是快速构建一个能够实时获取和分类房产信息的系统。这个系统需要对收集的数据进行格式转换,确保信息的准确性和时效性。用户可以通过Web前台使用文字查询或者地图定位来...
1. 用户启动qBittorrent,选择使用特定的搜索引擎插件。 2. 插件通过Python脚本与选定的搜索引擎进行交互,通常会使用HTTP或HTTPS协议发送请求,获取种子的元数据,如种子名称、大小、发布者等。 3. 用户在...
1. **搜索接口**:这是用户与搜索引擎交互的部分,通常包含一个搜索框,用户输入关键词后提交请求。在ASP中,这可能是一个表单提交事件,通过POST或GET方法将关键词发送到服务器。 2. **数据抓取和索引**:搜索引擎...
**FTP搜索引擎开发** FTP(File Transfer Protocol)搜索引擎是一种专门用于搜索和索引FTP服务器上的文件的工具。BISM菁搜FTP搜索引擎是针对这一需求而设计的,它旨在提高用户查找和访问FTP服务器上数据的效率。...
总结来说,这个项目为学习者提供了实践搜索引擎开发的宝贵机会,涵盖了Java后端编程、Web开发、数据处理和信息检索等多个领域的重要知识。通过深入研究和理解这套源代码,开发者不仅能提升编程技能,还能对搜索引擎...
1. **Google Scholar** (http://scholar.google.com): 谷歌学术搜索是一个强大的学术信息搜索引擎,它可以过滤掉非学术性的搜索结果,并显示文章的不同版本、引用次数。在中国,可以使用其镜像站点 ...
《基于ASP的搜索引擎开发》是一份综合性的学习资源,涵盖了搜索引擎技术、ASP编程以及软件开发实践等多个方面。这个压缩包包含源代码和论文,对于学习和理解如何利用ASP(Active Server Pages)技术构建一个基本的...