9個基於Java的搜索引擎框架
轉自:http://blog.csdn.net/xiaomin1991222/article/details/50980573
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/
9個基於Java的搜索引擎框架