【搜索引擎基础知识3】搜索引擎相关开源项目及网站

部分内容转自:http://blog.csdn.net/hguisu/article/details/8024799

一、 开源项目

1.Lucene全文检索系统

http://lucene.apache.org和 http://www.lucene.com.cn/

Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。Lucene的原作者是Doug Cutting,他是一位资深全文索引/检索专家,曾经是V-Twin搜索引擎的主要开发者,后在Excite担任高级系统架构设计师,目前从事于一些Internet底层架构的研究。早先发布在作者自己的,他贡献出Lucene的目标是为各种中小型应用程式加入全文检索功能。

2.  Nutch系统

http://www.nutch.org和http://www.nutchchina.com

Nutch是个完整的开放源代码的搜索引擎,是个完备的应用程序。内部实现以Lucence为基础实现搜索引擎应用.

利用Nutch经过简单设置就可以建立自己的内部网的搜索引擎,也可以针对互联网建立搜索引擎,还可以与数据库结合检索索引。

3、Heritrix项目

3.Compass

http://wwww.compassframework.org/

Compass是在Lucence上实现的开源搜索引擎架构,提供更加简洁的搜索引擎API. 增加了索引事务处理的支持,能够更方便地与数据库等食物处理应用进行整合。更新时更加简单、更加高效,无需删除原文档。资源与搜索引擎之间采用映射机制,Compass还能与Hibernate 、Spring架构进行集成

4.Larbin系统

http://larbin.sourceforge.net/

 larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人Sébastien Ailleret独立开发,用c++语言实现。larbin目的是能够跟踪页面的url进行扩展的抓取,最后为搜索引擎提供广泛的数据来源。 Larbin只是一个爬虫,也就是说larbin只抓取网页,至于如何parse的事情则由用户自己完成。另外,如何存储到数据库以及建立索引的事情 larbin也不提供。

  latbin最初的设计也是依据设计简单但是高度可配置性的原则,因此我们可以看到,一个简单的larbin的爬虫可以每天获取500万的网页,实在是非常高效。

  利用larbin,我们可以轻易的获取/确定单个网站的所有联结,甚至可以镜像一个网站;也可以用它建立url 列表群,例如针对所有的网页进行 url retrive后,进行xml的联结的获取。或者是 mp3,或者定制larbin,可以作为搜索引擎的信息的来源。

5. Yioop! PHP 搜索引擎

http://www.seekquarry.com/

Yioop! 是一个 PHP 的搜索引擎,可用于 Web 的一般用途搜索,或者可提供URL搜索以及各种文档的索引搜索,包括:HTML, PDF, DOC, PPT, RTF, RSS, XML, SVG, PNG, JPG, BMP, GIF, 以及 sitemaps.

二、 研究网站

1,Google 黑板报 http://www.google.com.hk/ggblog/googlechinablog/

2,searchenginewatch.com大站。

3、nutch和lucene的区别

想做一个搜索引擎,最近浏览了许多社区,发现Lucene和Nutch用的很多,而这两个我总感觉难以区分概念,于是在查了些资料。下面是Lucene和Nutch创始人Doug Cutting 的访谈摘录:

Lucene其实是一个提供全文文本搜索的函数库,它不是一个应用软件。它提供很多API函数让你可以运用到各种实际应用程序中。现在,它已经成为Apache的一个项目并被广泛应用着。这里列出一些已经使用Lucene的系统。

Nutch是一个建立在Lucene核心之上的Web搜索的实现,它是一个真正的应用程序。也就是说,你可以直接下载下来拿过来用。它在Lucene的基础上加了网络爬虫和一些和Web相关的东东。其目的就是想从一个简单的站内索引和搜索推广到全球网络的搜索上,就像Google和Yahoo一样。当然,和那些巨人竞争,你得动一些脑筋,想一些办法。我们已经测试过100M的网页,并且它的设计用在超过1B的网页上应该没有问题。当然,让它运行在一台机器上,搜索一些服务器,也运行的很好。

总的来说,我认为LUCENE会应用在本地服务器的网站内部搜索,而Nutch则扩展到整个网络、Internet的检索。当然LUCENE加上爬虫程序等就会成为Nutch,这样理解应该没错吧。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/rokii/archive/2008/03/01/2137450.aspx

简单的说:

z  Lucene 不是完整的应用程序,而是一个用于实现全文检索的软件库。

z  Nutch  是一个应用程序,可以以 Lucene 为基础实现搜索引擎应用。

Lucene 为 Nutch 提供了文本索引和搜索的 API。一个常见的问题是;我应

该使用 Lucene 还是Nutch?最简单的回答是:如果你不需要抓取数据的话,应该

使用Lucene。常见的应用场合是:你有数据源,需要为这些数据提供一个搜索页

面。在这种情况下,最好的方式是直接从数据库中取出数据并用 Lucene API 建立

索引。

【搜索引擎基础知识3】搜索引擎相关开源项目及网站

时间: 2024-10-13 11:17:26

【搜索引擎基础知识3】搜索引擎相关开源项目及网站的相关文章

【搜索引擎基础知识1】搜索引擎基本架构

(一)搜索引擎的开发一般可分为下面三大部分 1.数据採集层:一般使用爬虫获取互联网的数据,重要的开源项目有Heritrxi 2.数据分析处理层:将从互联网上获取到的数据进行提取归类.分词.语义分析得出索引得内容,等待用户查询使用,重要的开源项目有Lucene 3.视图层:也用户的交互界面,如一个站点的首页 其基本架构可參考下图: [搜索引擎基础知识1]搜索引擎基本架构,布布扣,bubuko.com

【搜索引擎基础知识2】网络爬虫

部分内容参考<这就是搜索引擎> 通用搜索引擎的处理对象是互联网网页,目前网页数量以百亿计,搜索引擎的网络爬虫能够高效地将海量的网页数据传下载到本地,在本地 形成互联网网页的镜像备份.它是搜索引擎系统中很关键也很基础的构件. (一)网络爬虫本质就是浏览器http请求 浏览器和网络爬虫是两种不同的网络客户端,都以相同的方式来获取网页: 1.首先, 客户端程序连接到域名系统(DNS)服务器上,DNS服务器将主机 名转换成ip 地址. 2.接下来,客户端试着连接具有该IP地址的服务器.服务器上可能有多

推荐20个开源项目托管网站

推荐20个开源项目托管网站 前 言 推荐20个开源项目托管站点,真希望国内也能多一些这样的站点. 1. SourceForge SF为大家所熟知,开源项目的大本营,SF托管至少28万个开源项目,一天的下载量超过200万. 2.GitHub GitHub托管使用Git版本控制系统的公开和私有项目. 目前该网站托管超过170万存储项目,包括许多开源软件. 3.Google Code Google提供免费的使用Subversion或是Mercurial版本控制系统的开源项目托管服务. 它提供2G的存储

.NET文件格式相关开源项目

在过去的一年里,我已确定把文件格式作为我的主要研究课题之一,NPOI就是在这样的研究课题下的产物.尽管从严格意义上讲NPOI只是POI 的.NET版本,并不是我创造的,但是在开发过程中,我对OLE2有了深入的理解和认识,也对Office 97-2003的文件格式有了截然不同的认识.如果在过去,有人问我:你知道Office文件格式吗?作为开发人员的我会毫不犹豫的说:我当然知道!但如 今,我会说:我只知道一部分.有句话说得好:学得越多越觉得自己无知. 很多研究生为毕业时写篇合格的论文而发愁,觉得3年

iOS开发资源:推送通知相关开源项目--PushSharp、APNS-PHP以及Pyapns等

PushSharp  (github) PushSharp是一个实现了由服务器端向移动客户端推送消息的开源C#库,支持 iOS (iPhone/iPad APNS). Android (C2DM/GCM - Google Cloud Message).Windows Phone.Windows 8.Blackberry (BIS and BES via PAP)以及Amazon (ADM)设备,未来还将支持Firefox OS. PushSharp的API可以流畅地位不同平台创建消息,自适应消

【知识向】——计算机基础知识总结及相关

计算机组成 基本广泛的说计算机包括硬件(hardware)和软件(software)两部分.硬件就是计算机中可以被直观看见的物理部分.而软件提供看不见的指令,这些指令控制硬件并且使得硬件完成特定的任务. 本篇文章将简记在学习计算机的过程中,所学的一些计算机基础相关知识的杂记,以及一些拓展方面的认识. 那么我个人是学习计算机软件方面的,关于硬件的话,会比较少的接触到,一般就看一些视频了解一些相关的知识,这里就不介绍了,在下面主要将从软件方面的知识做记载,记载方式将以单个知识点记载,. *** 程序

【整理】FFMPEG相关开源项目

1.FFmpeg build for android random architectures with example jni https://github.com/appunite/AndroidFFmpeg 2.ijkplayer - Android/iOS 基于FFMPEG库的播放器 http://git.oschina.net/bbcallen/ijkplayer git下载地址: http://git.oschina.net/bbcallen/ijkplayer.git [email

WPF相关开源项目

MahApps 排名第一的是MahApps框架. 该框架不错.详细信息请去官网. cefsharp 能让你在应用中嵌入谷歌浏览器页 xaml-sdk 包含很多开发实例 Prism Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Windows 10 UWP, and Xamarin Forms. Material Design In XA

FFMPEG相关开源项目

1.FFmpeg build for android random architectures with example jnihttps://github.com/appunite/AndroidFFmpeg 2.ijkplayer - Android/iOS 基于FFMPEG库的播放器http://git.oschina.net/bbcallen/ijkplayergit下载地址:                     http://git.oschina.net/bbcallen/ijk