阅读更多

3顶
0踩

开源软件

转载新闻 13 款开源的全文检索引擎

2013-04-02 11:28 by 副主编 WnouM 评论(3) 有26230人浏览
本文转载自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
3
0
评论 共 3 条 请登录后发表评论
3 楼 laigood12345 2013-04-17 10:12
elasticsearch的资料可以参考这里http://www.searchtech.pro
2 楼 AngelAndAngel 2013-04-07 09:41
ls太坏了
1 楼 dohkoos 2013-04-02 18:58
Lucene
Nutch
Solr
ElasticSearch

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 8个基于Lucene的开源搜索引擎(推荐)

    Lucene是一种功能强大且被广泛使用的搜索引擎,以下列出8种基于Lucene的搜索引擎,你可以想象他们有多么强大

  • 13 款开源全文检索引擎

    Lucene的开发语言是Java,也是Java家族中最为出名的一个开源搜索引擎,在Java世界中已经是标准的全文检索程序,它提供了完整的查询引擎和索引引擎,没有中文分词引擎,需要自己去实现,因此用Lucene去做一个搜素引擎...

  • 开源的全文搜索引擎Elasticsearch

    Elasticsearch是一个开源的全文搜索引擎,可以实现快速、实时的数据搜索和分析。它是基于Apache Lucene的搜索引擎库开发而来,提供了一个分布式、多租户的全文搜索引擎平台,能够支持海量数据的实时检索、聚合分析和...

  • 13 款开源的全文搜索引擎

    主要介绍13款现有的开源搜索引擎,你可以将它们用在你的项目中以实现检索功能。    1. Lucene    Lucene的开发语言是Java,也是Java家族中最为出名的一个开源搜索引擎,在Java世界中已经是标准的全文检索...

  • 开源全文搜索引擎MeiliSearch

    MeiliSearch 是用 Rust 写的强大、快速、开源、易于使用和部署的搜索引擎。

  • 开源全文搜索引擎汇总

    Apache Lucene 是完全用 Java 编写的高性能、功能齐全的全文检索引擎架构,提供了完整的查询引擎和索引引擎、部分文本分析引擎。目的是为软件开发人员提供一个简单易用的工具包,以方便地在目标系统中实现全文检索的...

  • 20款开源搜索引擎介绍与比较

    使用开源搜索引擎,可以大大缩短构建搜索应用的周期,并可根据应用需求打造个性化搜索应用,甚至构建符合特定需求的搜索引擎系统。搜索引擎的开源,无论是对技术人员还是普通用户,都是一个福音。 搜索引擎的工作...

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

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

  • ElasticSearch讲解(开源的、高拓展的分布式全文检索引擎)

    ElasticSearch ,简称为es,是一个开源的、高拓展的分布式全文检索引擎,它可以近乎实时的存储、检索数据。

  • 13款开源搜索引擎的介绍

    Lucene的开发语言是Java, 也是java家族中最为出名的一个开源搜索引擎, 在java世界中已经是标准的全文检索程序, 它提供了完整的查询引擎和索引引擎, 没有中文分词引擎, 需要自己去实现, 因此用Lucene去做一个搜素引擎...

  • 火端搜索引擎源码V2.0开源版_开源_V2_火端搜索程序_搜索引擎_

    把程序上传到空间上即可运行(★★如果在子目录...之前使用1.X版本的站长需要全部重新覆盖本程序采用utf-8国际编码编写,请勿使用记事本修改代码,否则会出错。请用支持utf-8编码的编辑器修改,如notepad++、dreamweaver

  • 基于Lucene全文检索引擎的应用研究

    Lucene是一个强大的全文索引引擎工具包, 它的...介绍了一个高性能的全文检索引擎——Lucene开源系统,详细分析了Lucene的系统结构、全文索引机制,然后将其引入具体应用,给出了一个基于Lucene全文检索技术的具体实例。

  • Yiso智云搜索引擎开源PHP源码

    Yiso 是一个性能极佳的搜索引擎,免费开源,亦可做收录网址平台使用!输入关键词即可获取相关的搜索结果内容 Yiso采用自主研发的 BiuSQL 数据库储存数据,不需要安装数据库,下载源码解压缩即可使用 可自行添加...

  • 13款开源搜索引擎

    1. Lucene Lucene的开发语言是Java,也是Java家族中最为出名的一个开源搜索引擎,在Java世界中已经是标准的全文检索程序,它提供了完整的查询引擎和索引引擎,没有中文分词引擎,需要自己去实现,因此用Lucene去做...

  • go 生成基于 graphql 服务器库.zip

    格奇尔根 首页 > 文件 > gqlgen是什么?gqlgen是一个 Go 库,用于轻松构建 GraphQL 服务器。gqlgen 基于 Schema 优先方法— 您可以使用 GraphQL Schema 定义语言来定义您的 API 。gqlgen 优先考虑类型安全— 您永远不应该看到map[string]interface{}这里。gqlgen 启用 Codegen — 我们生成无聊的部分,以便您可以专注于快速构建您的应用程序。还不太确定如何使用gqlgen?将gqlgen与其他 Go graphql实现进行比较快速启动初始化一个新的 go 模块mkdir examplecd examplego mod init example添加github.com/99designs/gqlgen到项目的 tools.goprintf '//go:build tools\npackage tools\nimport (_ "github.com/99designs/gqlgen"\n _ "github.com/99designs/gqlgen

  • 基于JAVA+SpringBoot+Vue+MySQL的社区物资交易互助平台 源码+数据库+论文(高分毕业设计).zip

    项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql8.0 部署环境:maven 数据库工具:navicat

  • 法研杯2021类案检索赛道三等奖方案源码+项目说明+数据.zip

    法研杯2021类案检索赛道三等奖方案源码+项目说明+数据.zip是一个专为计算机相关专业(如计科、信息安全、数据科学与大数据技术等)学生设计的宝贵学习资源。该压缩包包含了完整的项目源码、详细的项目说明文档以及用于训练和测试的数据集,旨在帮助参赛者深入理解并掌握类案检索的相关技术和方法。该项目通过实际案例,展示了如何运用自然语言处理和机器学习技术对法律案件进行智能检索和匹配。项目内容涵盖了从数据预处理、特征提取到模型训练和评估的全过程,为学习和研究类案检索技术提供了全面的参考。本项目不仅适合作为课程设计、期末大作业或毕设项目的参考,也是企业员工提升技能、进行实践操作的优质学习资料。通过实际操作和学习该项目,用户可以加深对类案检索技术的理解,并在实践中不断提升自己的技能水平。请注意,由于该资源包含完整的项目源码和数据集,下载和使用时请确保遵守相关法律法规和道德规范,尊重知识产权和隐私权。同时,建议用户在使用前仔细阅读项目说明文档,了解项目的整体架构和使用方法,以便更好地利用该资源进行学习和研究。

Global site tag (gtag.js) - Google Analytics