9個(gè)基于Java的搜索引擎框架
在這個(gè)信息相當(dāng)繁雜的互聯(lián)網(wǎng)時(shí)代,我們已經(jīng)學(xué)會(huì)了如何利用搜索引擎這個(gè)強(qiáng)大的利器來找尋目標(biāo)信息,比如你會(huì)在Google上搜索情人節(jié)如何討女朋友 歡心,你也會(huì)在百度上尋找正規(guī)的整容醫(yī)療機(jī)構(gòu)(盡管有很大一部分廣告騙子)。那么如果在你自己開發(fā)的網(wǎng)站系統(tǒng)中需要能讓用戶搜索一些重要的信息,并且能以 結(jié)構(gòu)化的結(jié)果展現(xiàn)給用戶,下面分享的這9款Java搜索引擎框架或許就可以幫助到你了。
Java 全文搜索引擎框架 Lucene
毫無疑問,Lucene是目前最受歡迎的Java全文搜索框架,準(zhǔn)確地說,它是一個(gè)全文檢索引擎的架構(gòu),提供了完整的查詢引擎和索引引擎,部分文本分析引 擎。Lucene為開發(fā)人員提供了相當(dāng)完整的工具包,可以非常方便地實(shí)現(xiàn)強(qiáng)大的全文檢索功能。下面有幾款搜索引擎框架也是基于Lucene實(shí)現(xiàn)的。
開源Java搜索引擎Nutch
Nutch 是一個(gè)開源Java實(shí)現(xiàn)的搜索引擎。它提供了我們運(yùn)行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬蟲。
利用Nutch,你可以做到以下這些功能:
每個(gè)月取幾十億網(wǎng)頁
為這些網(wǎng)頁維護(hù)一個(gè)索引
對索引文件進(jìn)行每秒上千次的搜索
提供高質(zhì)量的搜索結(jié)果
以最小的成本運(yùn)作
分布式搜索引擎 ElasticSearch
ElasticSearch就是一款基于Lucene框架的分布式搜索引擎,并且也是一款為數(shù)不多的基于JSON進(jìn)行索引的搜索引擎。ElasticSearch特別適合在云計(jì)算平臺(tái)上使用。
實(shí)時(shí)分布式搜索引擎 Solandrah
Solandra 是一個(gè)實(shí)時(shí)的分布式搜索引擎,基于 Apache Solr 和 Apache Cassandra 構(gòu)建。
其特性如下:
支持Solr的大多數(shù)默認(rèn)特性 (search, faceting, highlights)
數(shù)據(jù)復(fù)制,分片,緩存及壓縮這些都由Cassandra來進(jìn)行
Multi-master (任意結(jié)點(diǎn)都可供讀寫)
實(shí)時(shí)性高,寫操作完成即可讀到
Easily add new SolrCores w/o restart across the cluster 輕松添加及重啟結(jié)點(diǎn)
IndexTank
IndexTank是一套基于Java的索引-實(shí)時(shí)全文搜索引擎實(shí)現(xiàn),IndexTank有以下幾個(gè)特點(diǎn):
索引更新實(shí)時(shí)生效
地理位置搜索
支持多種客戶端語言
Ruby, Rails, Python, Java, PHP, .NET & more!
支持靈活的排序與評(píng)分控制
支持自動(dòng)完成
支持面搜索(facet search)
支持匹配高亮
支持海量數(shù)據(jù)擴(kuò)展(Scalable from a personal blog to hundreds of millions of documents! )
支持動(dòng)態(tài)數(shù)據(jù)
搜索引擎 Compass
Compass是一個(gè)強(qiáng)大的,事務(wù)的,高性能的對象/搜索引擎映射(OSEM:object/search engine mapping)與一個(gè)Java持久層框架.Compass包括:
搜索引擎抽象層(使用Lucene搜索引薦)
OSEM (Object/Search Engine Mapping) 支持
事務(wù)管理
類似于Google的簡單關(guān)鍵字查詢語言
可擴(kuò)展與模塊化的框架
簡單的API
Java全文搜索服務(wù)器 Solr
Solr也是基于Java實(shí)現(xiàn)的,并且是基于Lucene實(shí)現(xiàn)的,Solr的主要特性包括:高效、靈活的緩存功能,垂直搜索功能,高亮顯示搜索結(jié)果。值得注意的是,Solr還提供一款很棒的Web界面來管理索引的數(shù)據(jù)。
Lucene圖片搜索 LIRE
LIRE是一款基于Java的圖片搜索框架,其核心也是基于Lucene的,利用該索引就能夠構(gòu)建一個(gè)基于內(nèi)容的圖像檢索(content- based image retrieval,CBIR)系統(tǒng),來搜索相似的圖像。
全文本搜索引擎 Egothor
Egothor是一個(gè)用Java編寫的開源而高效的全文本搜索引擎。借助Java的跨平臺(tái)特性,Egothor能應(yīng)用于任何環(huán)境的應(yīng)用,既可配置為單獨(dú)的搜索引擎,又能用于你的應(yīng)用作為全文檢索之用。