`

13 款开源的全文搜索引擎

 
阅读更多

本文转载自xum2008的博客,主要介绍13款现有的开源搜索引擎,你可以将它们用在你的项目中以实现检索功能。 

1.  Lucene 

Lucene的开发语言是Java,也是Java家族中最为出名的一个开源搜索引擎,在Java世界中已经是标准的全文检索程序,它提供了完整的查询引擎和索引引擎,没有中文分词引擎,需要自己去实现,因此用Lucene去做一个搜素引擎需要自己去架构.另外它不支持实时搜索,但linkedin和twitter有分别对Lucene改进的实时搜素. 其中Lucene有一个C++移植版本叫CLucene,CLucene因为使用C++编写,所以理论上要比lucene快. 

官方主页:http://lucene.apache.org/ 

CLucene官方主页:http://sourceforge.net/projects/clucene/ 

2.  Sphinx 

Sphinx是一个用C++语言写的开源搜索引擎,也是现在比较主流的搜索引擎之一,在建立索引的事件方面比Lucene快50%,但是索引文件比Lucene要大一倍,因此Sphinx在索引的建立方面是空间换取事件的策略,在检索速度上,和lucene相差不大,但检索精准度方面Lucene要优于Sphinx,另外在加入中文分词引擎难度方面,Lucene要优于Sphinx.其中Sphinx支持实时搜索,使用起来比较简单方便. 

官方主页:http://sphinxsearch.com/about/sphinx/ 

3.  Xapian 

Xapian是一个用C++编写的全文检索程序,它的api和检索原理和lucene在很多方面都很相似,算是填补了lucene在C++中的一个空缺. 

官方主页:http://xapian.org/ 

4.  Nutch 

Nutch是一个用java实现的开源的web搜索引擎,包括爬虫crawler,索引引擎,查询引擎. 其中Nutch是基于Lucene的,Lucene为Nutch提供了文本索引和搜索的API. 

对于应该使用Lucene还是使用Nutch,应该是如果你不需要抓取数据的话,应该使用Lucene,最常见的应用是:你有数据源,需要为这些数据提供一个搜索页面,在这种情况下,最好的方式是直接从数据库中取出数据,并用Lucene API建立索引. 

官方主页:http://nutch.apache.org/ 

5.  DataparkSearch 

DataparkSearch是一个用C语言实现的开源的搜索引擎. 其中网页排序是采用神经网络模型.  其中支持HTTP,HTTPS,FTP,NNTP等下载网页.包括索引引擎,检索引擎和中文分词引擎(这个也是唯一的一个开源的搜索引擎里有中文分词引擎).能个性化定制搜索结果,拥有完整的日志记录. 

官方主页:http://www.dataparksearch.org/ 

6.  Zettair 

Zettair是根据Justin Zobel的研究成果为基础的全文检索实验系统.它是用C语言实现的. 其中Justin Zobel在全文检索领域很有名气,是业界第一个系统提出倒排序索引差分压缩算法的人,倒排列表的压缩大大提高了检索和加载的性能,同时空间膨胀率也缩小到相当优秀的水平. 由于Zettair是源于学术界,代码是由RMIT University的搜索引擎组织写的,因此它的代码简洁精炼,算法高效,是学习倒排索引经典算法的非常好的实例. 其中支持linux,windows,mac os等系统. 

官方主页:http://www.seg.rmit.edu.au/zettair/about.html 

7.  Indri 

Indri是一个用C语言和C++语言写的全文检索引擎系统,是由University of Massachusetts和Carnegie Mellon University合作推出的一个开源项目. 特点是跨平台,API接口支持Java,PHP,C++. 

官方主页:http://www.lemurproject.org/indri/ 

8.  Terrier 

Terrier是由School of Computing Science,Universityof Glasgow用java开发的一个全文检索系统.

官方主页:http://terrier.org/ 

9.  Galago 

Galago是一个用java语言写的关于文本搜索的工具集. 其中包括索引引擎和查询引擎,还包括一个叫TupleFlow的分布式计算框架(和google的MapReduce很像).这个检索系统支持很多Indri查询语言. 

官方主页:http://www.galagosearch.org/ 

10.  Zebra 

Zebra是一个用C语言实现的检索程序,特点是对大数据的支持,支持EMAIL,XML,MARC等格式的数据. 

官方主页:https://www.indexdata.com/zebra 

11.  Solr 

Solr是一个用java开发的独立的企业级搜索应用服务器,它提供了类似于Web-service的API接口,它是基于Lucene的全文检索服务器,也算是Lucene的一个变种,很多一线互联网公司都在使用Solr,也算是一种成熟的解决方案. 

官方主页:http://lucene.apache.org/solr/ 

12.  Elasticsearch 

Elasticsearch是一个采用java语言开发的,基于Lucene构造的开源,分布式的搜索引擎. 设计用于云计算中,能够达到实时搜索,稳定可靠. Elasticsearch的数据模型是JSON. 

官方主页:http://www.elasticsearch.org/ 

13.  Whoosh 

Whoosh是一个用纯python写的开源搜索引擎. 

官方主页:https://bitbucket.org/mchaput/whoosh/wiki/Home  

分享到:
评论

相关推荐

    Java开源搜索引擎分类列表.rar

    Java开源搜索引擎分类列表.rarJava开源搜索引擎分类列表.rarJava开源搜索引擎分类列表.rarJava开源搜索引擎分类列表.rarJava开源搜索引擎分类列表.rarJava开源搜索引擎分类列表.rarJava开源搜索引擎分类列表.rarJava...

    Node.js-Ambar是一个开源文档搜索引擎具有自动抓取OCR标记和实时全文搜索功能

    Ambar是一个功能强大的开源文档搜索引擎,它集成了自动抓取、光学字符识别(OCR)和实时全文搜索功能,极大地提升了文档处理和检索的效率。 ### 1. Node.js介绍 Node.js是一个基于Chrome V8引擎的JavaScript运行...

    迅龙中文Web搜索引擎(.NET)-开源的搜索引擎程序C#编写

    迅龙中文Web搜索引擎是一款由C#编程语言编写的开源搜索引擎程序,它为开发者提供了一种高效、易用的方式来实现中文网页的索引与检索功能。这款软件的核心在于其强大的文本处理和搜索算法,能够有效地处理中文分词和...

    (C#开源搜索引擎).rar

    标题中的"(C#开源搜索引擎).rar"表明这是一个与C#编程语言相关的开源搜索引擎项目。开源意味着源代码可供公众查看、使用、修改和分发。这个压缩包可能包含了一个完整的搜索引擎解决方案,供开发者学习、研究或者在...

    开源的搜索引擎工具包和web搜索引擎系统 - austin lius fashion - 博客园.docx

    Egothor是一款高性能的全文搜索引擎,具有类似Lucene的核心算法。它提供了一种扩展的布尔查询模型,并支持动态索引更新和并行查询,以提高效率。Egothor包含了爬虫和文本解析器,支持多种文件格式,如HTML、PDF等,...

    c# 开源搜索引擎完整的例子

    本主题聚焦于一个特别的应用场景——"c# 开源搜索引擎",这是一个利用C#构建的开源搜索引擎项目,提供了完整的源代码供学习和参考。 搜索引擎的核心功能包括数据收集(爬虫)、索引构建、查询处理和结果展示。以下...

    一个C#写的开源搜索引擎代码

    《C#实现的开源搜索引擎深度解析》 在IT领域,搜索引擎是信息检索的重要工具,而C#作为.NET框架下的主流编程语言,也被广泛应用于各种软件开发,包括搜索引擎的实现。本篇文章将深入探讨一个基于C#编写的开源搜索...

    国内首例开源搜索引擎分词

    《国内首例开源搜索引擎分词:云寻觅的探索与实践》 在信息化时代,搜索引擎作为获取信息的重要工具,其核心之一就是分词技术。分词是自然语言处理中的基础步骤,它将连续的文本流分割成具有独立意义的词语,从而为...

    开源搜索引擎,solr

    建立索引,检索,分词,分类,开源搜索引擎,solr

    Sphinx-2.2.11开源全文搜索引擎版本的php程序扩展压缩包

    Sphinx-2.2.11是一个开源的全文搜索引擎版本,它被广泛用于中大型网站的搜索功能实现。Sphinx提供了一个PHP扩展,以便更好地与PHP语言集成,方便开发人员使用。 安装Sphinx:首先,需要下载Sphinx-2.2.11的源代码包...

    基于lucene和nutch的开源搜索引擎资料集合

    其中内容均为前段时间研究开源搜索引擎时搜集参考的资料,非常齐全包含的内容有: Computing PageRank Using Hadoop.ppt Google的秘密PageRank彻底解说中文版.doc JAVA_Lucene_in_Action教程完整版.doc Java开源搜索...

    (开源桌面搜索引擎 Ver 1.0)

    标题中的"(开源桌面搜索引擎 Ver 1.0)"指的是一个基于Visual Basic开发的开源桌面搜索工具,版本为1.0。这个工具允许用户在本地计算机上快速查找文件、文档和其他信息,而无需依赖云端服务,提高了数据隐私和搜索...

    迅速搭建全文搜索平台——开源搜索引擎实战教程--代码.rar

    在本教程中,我们将深入探讨如何利用开源搜索引擎技术快速构建一个全文搜索平台。开源搜索引擎以其灵活性、可扩展性和成本效益,已经成为许多企业和开发者构建高效检索系统的首选方案。本实战教程将带你一步步实现这...

    PHP实例开发源码-开源搜索引擎整合系统 Seeknove.zip

    PHP实例开发源码—开源搜索引擎整合系统 Seeknove.zip PHP实例开发源码—开源搜索引擎整合系统 Seeknove.zip PHP实例开发源码—开源搜索引擎整合系统 Seeknove.zip

    垂直搜索引擎完全开源版

    网博垂直搜索引擎完全开源版 1.前台结合Lucene的搜索引擎功能,使得数据搜索更快; 2.新增加采集功能,采集时图片下载,flash下载功能,默认配置的是南海网分类信息的采集规则; 3.该代码简洁,完全开源,可以与...

Global site tag (gtag.js) - Google Analytics