W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Solr 是一個(gè)基于 Apache Lucene 之上的搜索服務(wù)器,它是一個(gè)開(kāi)源的、基于 Java 的信息檢索庫(kù)。它旨在驅(qū)動(dòng)功能強(qiáng)大的文檔檢索應(yīng)用程序 - 無(wú)論您需要根據(jù)用戶的查詢將數(shù)據(jù)服務(wù)到何處,Solr 都可以為您服務(wù)。
下面是一個(gè)如何將 Solr 集成到應(yīng)用程序中的示例:
在上述情況下,Solr 與其他服務(wù)器應(yīng)用程序并行運(yùn)行。例如,在線商店應(yīng)用程序?qū)⑻峁┯脩艚缑?、?gòu)物車(chē)以及為最終用戶購(gòu)買(mǎi)的方式;而庫(kù)存管理應(yīng)用程序?qū)⒃试S商店員工編輯產(chǎn)品信息。產(chǎn)品元數(shù)據(jù)將保存在某種數(shù)據(jù)庫(kù)以及 Solr 中。
Solr 可以通過(guò)以下步驟輕松地添加在在線商店搜索的功能:
您的用戶將搜索的 Feed Solr 文檔。
因?yàn)?Solr 是基于開(kāi)放標(biāo)準(zhǔn)的,所以它是高度可擴(kuò)展的。Solr 查詢是簡(jiǎn)單的 HTTP 請(qǐng)求 URL,響應(yīng)是一個(gè)結(jié)構(gòu)化文檔:主要是 JSON,但也可以是 XML、CSV 或其他格式。這意味著各種各樣的客戶端將能夠使用 Solr,從其他 Web 應(yīng)用程序到瀏覽器客戶端、豐富的客戶端應(yīng)用程序和移動(dòng)設(shè)備。任何能夠使用 HTTP 的平臺(tái)都可以與 Solr 對(duì)話。有關(guān)客戶端 API 的詳細(xì)信息,請(qǐng)參閱客戶端 API。
Solr 提供了對(duì)多個(gè)字段和多面搜索結(jié)果的復(fù)雜查詢的最簡(jiǎn)單關(guān)鍵字搜索支持。搜索具有更多關(guān)于搜索和查詢的詳細(xì)信息。
如果 Solr 的功能還不夠令人印象深刻,那么它處理非常高容量應(yīng)用程序的能力就應(yīng)該發(fā)揮出來(lái)。
一個(gè)相對(duì)常見(jiàn)的情況是,您有太多數(shù)據(jù)或者有許多查詢,以至于單個(gè) Solr 服務(wù)器無(wú)法處理您的整個(gè)工作負(fù)載。在這種情況下,您可以使用 SolrCloud 擴(kuò)展應(yīng)用程序的功能,以便在多個(gè)服務(wù)器之間更好地分發(fā)數(shù)據(jù)和處理請(qǐng)求??梢愿鶕?jù)您需要的可擴(kuò)展性的類型,混合和匹配多個(gè)選項(xiàng)。
例如:“Sharding” 是一種縮放技術(shù),其中集合被拆分成多個(gè)稱為“碎片(shards)”的邏輯片段,以便將集合中的文檔數(shù)量擴(kuò)展到超過(guò)單個(gè)服務(wù)器上的物理數(shù)量。收集的查詢將分發(fā)到集合中的每個(gè)碎片,并通過(guò)合并結(jié)果進(jìn)行響應(yīng)。另一種可用的方法是增加集合的“復(fù)制因子”,這使您可以通過(guò)將請(qǐng)求擴(kuò)展到多臺(tái)計(jì)算機(jī),來(lái)添加具有集合的額外副本的服務(wù)器,以處理更高的并發(fā)查詢負(fù)載。切分和復(fù)制不是相互排斥的, 它共同使 Solr 成為一個(gè)非常強(qiáng)大和可伸縮的平臺(tái)。
最重要的是,這個(gè)關(guān)于大容量應(yīng)用程序的討論不僅是假設(shè)性的:一些使用 Solr 的著名互聯(lián)網(wǎng)網(wǎng)站是:Macy's、EBay 和 Zappo。
有關(guān)更多示例,請(qǐng)查看:https://wiki.apache.org/solr/PublicServers。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: