1. 程式人生 > >9個基於Java的搜尋引擎框架

9個基於Java的搜尋引擎框架

1、Java 全文搜尋引擎框架 Lucene

毫無疑問,Lucene是目前最受歡迎的Java全文搜尋框架,準確地說,它是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎,部分文字分析引擎。Lucene為開發人員提供了相當完整的工具包,可以非常方便地實現強大的全文檢索功能。下面有幾款搜尋引擎框架也是基於Lucene實現的。

官方網站:http://lucene.apache.org/

2、開源Java搜尋引擎Nutch

Nutch 是一個開源Java實現的搜尋引擎。它提供了我們執行自己的搜尋引擎所需的全部工具。包括全文搜尋和Web爬蟲。

利用Nutch,你可以做到以下這些功能:

  • 每個月取幾十億網頁
  • 為這些網頁維護一個索引
  • 對索引檔案進行每秒上千次的搜尋
  • 提供高質量的搜尋結果
  • 以最小的成本運作

官方網站:http://nutch.apache.org/

3、分散式搜尋引擎 ElasticSearch

ElasticSearch就是一款基於Lucene框架的分散式搜尋引擎,並且也是一款為數不多的基於JSON進行索引的搜尋引擎。ElasticSearch特別適合在雲端計算平臺上使用。

官方網站:http://www.elasticsearch.org/

4、實時分散式搜尋引擎 Solandra

Solandra 是一個實時的分散式搜尋引擎,基於 Apache Solr 和 Apache Cassandra 構建。

其特性如下:

  • 支援Solr的大多數預設特性 (search, faceting, highlights)
  • 資料複製,分片,快取及壓縮這些都由Cassandra來進行
  • Multi-master (任意結點都可供讀寫)
  • 實時性高,寫操作完成即可讀到
  • Easily add new SolrCores w/o restart across the cluster 輕鬆新增及重啟結點

官方網站:https://github.com/tjake/Solandra

5、IndexTank

IndexTank是一套基於Java的索引-實時全文搜尋引擎實現,IndexTank有以下幾個特點:

  • 索引更新實時生效
  • 地理位置搜尋
  • 支援多種客戶端語言
    Ruby, Rails, Python, Java, PHP, .NET & more!
  • 支援靈活的排序與評分控制
  • 支援自動完成
  • 支援面搜尋(facet search)
  • 支援匹配高亮
  • 支援海量資料擴充套件(Scalable from a personal blog to hundreds of millions of documents! )
  • 支援動態資料

官方網站:https://github.com/linkedin/indextank-engine

6、搜尋引擎 Compass

Compass是一個強大的,事務的,高效能的物件/搜尋引擎對映(OSEM:object/search engine mapping)與一個Java持久層框架.Compass包括:

  • 搜尋引擎抽象層(使用Lucene搜尋引薦)
  • OSEM (Object/Search Engine Mapping) 支援
  • 事務管理
  • 類似於Google的簡單關鍵字查詢語言
  • 可擴充套件與模組化的框架
  • 簡單的API

官方網站:http://www.compass-project.org/

7、Java全文搜尋伺服器 Solr

Solr也是基於Java實現的,並且是基於Lucene實現的,Solr的主要特性包括:高效、靈活的快取功能,垂直搜尋功能,高亮顯示搜尋結果。值得注意的是,Solr還提供一款很棒的Web介面來管理索引的資料。

官方網站:http://lucene.apache.org/solr/

8、Lucene圖片搜尋 LIRE

LIRE是一款基於Java的圖片搜尋框架,其核心也是基於Lucene的,利用該索引就能夠構建一個基於內容的影象檢索(content- based image retrieval,CBIR)系統,來搜尋相似的影象。

官方網站:http://www.semanticmetadata.net/lire/

9、全文字搜尋引擎 Egothor

Egothor是一個用Java編寫的開源而高效的全文字搜尋引擎。藉助Java的跨平臺特性,Egothor能應用於任何環境的應用,既可配置為單獨的搜尋引擎,又能用於你的應用作為全文檢索之用。

官方網站:http://www.egothor.org/cms/

本文連結:http://www.codeceo.com/article/8-java-search-engine.html

本文作者:碼農網 – 小峰