9個基於Java的搜尋引擎框架
本文由碼農網 – 小峰原創,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
在這個資訊相當繁雜的網際網路時代,我們已經學會了如何利用搜尋引擎這個強大的利器來找尋目標資訊,比如你會在Google上搜尋情人節如何討女朋友歡心,你也會在百度上尋找正規的整容醫療機構(儘管有很大一部分廣告騙子)。那麼如果在你自己開發的網站系統中需要能讓使用者搜尋一些重要的資訊,並且能以結構化的結果展現給使用者,下面分享的這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
本文作者:碼農網 – 小峰
[ 原創作品,轉載必須在正文中標註並保留原文連結和作者等資訊。]
相關文章
- Lucene : 基於Java的全文搜尋引擎Java
- Nebula 基於 ElasticSearch 的全文搜尋引擎的文字搜尋Elasticsearch
- 8 個基於 Lucene 的開源搜尋引擎推薦
- 搜尋引擎框架介紹框架
- 自建搜尋引擎-基於美麗雲
- 基於 Mysql 實現一個簡易版搜尋引擎MySql
- 基於 Elasticsearch 的站內搜尋引擎實戰Elasticsearch
- 9個搜尋引擎優化(SEO)最佳實踐優化
- 基於Java、Kafka、ElasticSearch的搜尋框架的設計與實現JavaKafkaElasticsearch框架
- 基於c++或C的開源搜尋引擎C++
- 搜尋引擎-03-搜尋引擎原理
- 關於mongodb和搜尋引擎??MongoDB
- 做一個搜尋引擎的思路
- 基於 SAP Spartacus 的 SAP 電商雲 SEO 搜尋引擎優化的一個例子優化
- 配置高效能 ElasticSearch 搜尋引擎叢集的9個小貼士Elasticsearch
- solr 7.0 搭建 maven 整合,基於tomcat 搜尋引擎 部署SolrMavenTomcat
- 海量資料搜尋---搜尋引擎
- 搜尋引擎工作的基礎流程與原理
- 5個 Rapidshare 搜尋引擎API
- java+lucene中文分詞,搜尋引擎搜詞剖析Java中文分詞
- 用QT寫一個搜尋引擎思路QT
- 搜尋引擎es-分詞與搜尋分詞
- ElasticSearch全文搜尋引擎Elasticsearch
- 搜尋引擎語法
- 搜尋引擎命令大全
- 搜尋引擎程式碼
- 搜尋引擎面試題面試題
- 搜尋引擎必看的入門書籍——《搜尋引擎:資訊檢索實踐》
- 程式設計師的基礎生存技能:搜尋引擎程式設計師
- python 寫的搜尋引擎Python
- Java實現利用搜尋引擎收集網址的程式Java
- python 手把手教你基於搜尋引擎實現文章查重Python
- 基於SSH框架專案使用模糊查詢的搜尋功能開發框架
- 給大家分享一個 python 做的搜尋引擎Python
- 【預研】搜尋引擎基礎——inverted index(倒排索引)Index索引
- 使用Google百度等搜尋引擎的常用搜尋技巧Go
- Mac上神奇的內建搜尋引擎——Spotlight(聚焦搜尋)Mac
- 實現一個自己的搜尋引擎的初始規劃