elasticsearch

ElasticSearch是一个基于Lucene构建的开源、分布式RESTful搜索引擎。设计用于云计算中,能够达到实时搜索、稳定、可靠、快速、安装和使用方便等效果。支持通过HTTP使用JSON进行数据索引技术。最早版本v0.17.7发布于2011.9.19。

Carrot2

Carrot2是一个由Java和Perl语言开发的跨平台的开源搜索结果分类引擎。Carrot2提供的一个架构能够从各种搜索引擎获取搜索结果。它能够自动把搜索结果组织成一些专题分类。

Solr

Solr是一个基于Lucene的独立的企业级搜索应用服务器,用户可通过Solr提供的XML/HTTP与JSON接口在应用中集成企业级搜索服务。

Solr由CNET于2004年开发,最初主要为CNET提供站内搜索服务。2006年1月,CNET将其捐献给Apache,于2007年6月7日发布了1.2版本(从Apache孵化器毕业后的首个版本),并成为Lucene 的子项目。

Solr对Lucene进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对查询性能进行了优化,并且提供了一个完善的功能管理界面。

开发语言:Java

Lucene

Lucene是一个高性能的全文检索引擎库,提供了一个简单却强大的API,使得开发者可以在应用程序中轻松实现全文检索功能,或者以此为基础建立完整的全文检索引擎。

Lucene最初是由Doug Cutting开发的,在2000年3月发布了第一个开源版本0.01,并于2000年10月发布了1.0正式版,2001年9月Lucene加入Apache软件基金会,成为Jakarta项目的一个子项目。

与同类产品相比,Lucene的优势包括:独立于应用平台的索引文件格式、分块索引、优秀的面向对象系统架构、独立于语言和文件格式的文本分析接口、强大的查询引擎等。

开发语言:Java

CLucene

CLucene是Lucene的一个C++端口,Lucene是一个基于java的高性能的全文搜索引擎。CLucene因为使用C++编写,所以理论上要比lucene快。

Sphinx

Sphinx是一个全文搜索引擎,可以结合MySQL、PostgreSQL做全文搜索,使应用程序更容易实现专业化的全文检索。Sphinx为PHP、Python、Perl、Ruby等一些脚本语言设计搜索API接口,同时为MySQL也设计了一个存储引擎插件。

mysqlcft

MySQL在高并发连接、数据库记录数较多的情况下,SELECT ... WHERE ... LIKE '%...%'的全文搜索方式不仅效率差,而且以通配符%开头作查询时,使用不到索引,需要全表扫描,对数据库的压力也很大。MySQL针对这一问题提供了一种全文索引解决方案,这不仅仅提高了性能和效率(因为MySQL对这些字段做了索引来优化搜索),而且实现了更高质量的搜索。但是,至今为止,MySQL对中文全文索引无法正确支持。

Apache Solr

Apache Solr (读音: SOLer) 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache Solr 中存储的资源是以 Document 为对象进行存储的。每个文档由一系列的 Field 构成,每个 Field 表示资源的一个属性。Solr 中的每个 Document 需要有能唯一标识其自身的属性,默认情况下这个属性的名字是 id,在 Schema 配置文件中使用:id进行描述。Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可...

Hibernate Search

Hibernate Search的作用是对数据库中的数据进行检索的。

HubbleDotNet

HubbleDotNet 是一个基于.net framework 的开源免费的全文搜索引擎组件。开源协议是 Apache 2.0。HubbleDotNet提供了基于SQL的全文检索接口,使用者只需会操作SQL,就可以很快学会使用HubbleDotNet进行全文检索。