【linux 开发】8 个基于 Lucene 的开源搜索引擎

来源:互联网 发布:儿童编程入门书籍推荐 编辑:程序博客网 时间:2024/06/05 19:11

自行下载安装了Solr安装运行并建立索引后,可以通过curl或自带的控制台程序进行文本搜索,使用curl搜索结果如下,可以看到我们的quikstart.html文档中包含features词,利用此服务器我们可以开发自己的文本搜索系统,首先用solr为文本建立索引,然后自行开发客户端向solr发送url,从而获取返回的json信息用于展示,实现搜索功能。

[root@localhost docs]# curl "http://localhost:8983/solr/gettingstarted/select?q=*features*&wt=json&indent=true"       
{
  "responseHeader":{
    "status":0,
    "QTime":55,
    "params":{
      "indent":"true",
      "q":"*features*",
      "wt":"json"}},
  "response":{"numFound":26,"start":0,"maxScore":1.0,"docs":[
      {
        "id":"/home/solr/solr-5.0.0/docs/quickstart.html",
        "title":["Solr Quick Start"],
        "stream_content_type":["text/html"],
        "stream_size":[32319],
        "content_encoding":["UTF-8"],
        "x_parsed_by":["org.apache.tika.parser.DefaultParser",
          "org.apache.tika.parser.html.HtmlParser"],
        "content_type":["text/html; charset=UTF-8"],
        "resourcename":["/home/solr/solr-5.0.0/docs/quickstart.html"],
        "dc_title":["Solr Quick Start"],
        "_version_":1492164945436999680},

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

Apache Solr
Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提 供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。http://lucene.apache.org/solr/ 

Elastic Search
ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据索引。http://www.elasticsearch.com

Index Tank
IndexTank, 一套基于Java的索引-实时全文搜索引擎实现,Includes features like variables (boosts), categories (facets), faceted search, snippeting, custom scoring functions, suggest, and autocomplete。IndexTank的设计分离了相关性标记和文档内容,因为相关性标记的生命周期和文档本身是不一样的,特别是在用户创建的内容的情况下,例如 分享次数,Like按钮,+1按钮等等。https://github.com/linkedin/indextank-engine

Katta

Katta是一个可扩展的、故障容错的、分布式实施访问的数据存储。

Katta可用于大量、重复、索引的碎片,以满足高负荷和巨大的数据集。这些索引可以是不同的类型。当前该实现在Lucene和Hadoop mapfiles

 http://katta.sourceforge.net/ 

Bobo Search 

bobo-browse 是一用java写的lucene扩展组件,通过它可以很方便在lucene上实现分组统计功能。

比如说搜索电脑,可以得到cpu是intel的有几条命中记录,cpu是amd的有几条命中记录。

 https://github.com/javasoze/bobo 

Compass

Compass是一个强大的,事务的,高性能的对象/搜索引擎映射(OSEM:object/search engine mapping)与一个Java持久层框架.Compass包括:  

* 搜索引擎抽象层(使用Lucene搜索引荐),
 * OSEM (Object/Search Engine Mapping) 支持,
 * 事务管理,
 * 类似于Google的简单关键字查询语言, 
 * 可扩展与模块化的框架,
 * 简单的API.

 http://www.compass-project.org/ 

Summa

Summa是一种由java开发的,快速模块化和可扩展的搜索引擎. Summa 有如下特点:

  • 综合搜索. Summa 能够同时访问许多不同的数据和资料来源,并以一个统一的接口公开

  • 模块化设计.Summa 搜索系统由一系列独立模块组成, 这样使得它更简单容易地被维护和升级

  • 可扩展性. Summa 支持分布式架构而且能够按比例的扩大或缩小以处理任何数量的数据

  • 开放标准. Summa 基于现代web技术与标准, 不包含任何私有代码或原理.

  • 故障容错. 如果某单一数据资源或服务出错, Summa 将会继续运行而不受出错部分限制.

http://wiki.statsbiblioteket.dk/summa/ 

Constellio
Constellio 是一个开源的搜索解决方案,适合企业级的搜索。基于 Apache Solr 项目构建,使用 Lucene 做为搜索引擎,并提供基于 Web 的网页和文档的检索。可选择文档类型、文件夹以及文件名进行检索。http://constellio.com/

via findbestopensource



0 0
原创粉丝点击