您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Solr1.3的核心機制是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“Solr1.3的核心機制是什么”吧!
內(nèi)核調(diào)用機制
從圖3-3可以看出Solr1.3服務(wù)器包含一個實現(xiàn)基本功能的核心API,也可稱之為內(nèi)核。所有功能的實現(xiàn)都通過對內(nèi)核API的調(diào)用來實現(xiàn)。Solr1.3的內(nèi)核API提供的接口具有高內(nèi)聚低耦合的特點。低耦合主要體現(xiàn)在僅僅通過一個API函數(shù)(execute)就可以實現(xiàn)包括信息查詢和索引管理的功能。execute函數(shù)調(diào)用格式如圖3-3所示。
圖3-3 Solr內(nèi)核API調(diào)用格式
雖然對于信息查詢和索引管理(包括索引添加,更新和刪除)都使用相同的API調(diào)用,但是API參數(shù)卻不同。對于查詢請求SolrRequestHandler為負責信息查詢的Handler,SolrQueryRequest為信息查詢參數(shù), SolrQueryResponse為搜索結(jié)果。而對于索引管理SolrRequestHandler為專門負責索引管理的Handler,SolrQueryRequest為索引更新請求,SolrQueryResponse為索引管理操作的結(jié)果。
內(nèi)核API的低耦合結(jié)構(gòu)使得對外具有簡約,清晰的邏輯結(jié)構(gòu);execute方法參數(shù)子類型的多樣性又使得該方法具有強大的功能。
分庫機制
分庫機制(也叫多核心機制)是Solr1.3中引入的新機制,這個機制在實際的應(yīng)用中有很強的需求。例如,用戶不希望普通文檔(Word、PDF等)的索引數(shù)據(jù)與網(wǎng)頁的索引數(shù)據(jù)混合,同時希望可以選擇是查詢普通文檔還是查詢網(wǎng)頁,這時候索引分庫很有必要。
Solr1.3的分庫可以這樣實現(xiàn):在主目錄下建立一個文件夾(或多個,代表庫),該文件夾下建立名為config和data的文件夾,config文件夾下存放自定義的schema.xml文件和solrconfig.xml文件,data文件夾下存儲索引數(shù)據(jù);在主目錄下的solr.xml中將上面建立的庫添加進來,具體格式見3.3.2小節(jié)。
Solr1.3的各個庫對應(yīng)服務(wù)器的各個核心,各個核心之間是相互獨立的,每個核心可以具有獨立的文檔模式和系統(tǒng)屬性。
緩存機制
搜索引擎的響應(yīng)速度是搜索引擎性能的重要衡量指標。由于索引數(shù)據(jù)是保存在硬盤上的,硬盤作為外圍設(shè)備,訪問速度比較慢;同時由于查詢器從索引數(shù)據(jù)庫中獲得相應(yīng)的查詢結(jié)果,也會花一定得時間和資源進行一些計算;所以查詢的速度存在一定的瓶頸。多個用戶的查詢中可能存在重復(fù)查詢的情況,這提供了一個機會讓我們將一些查詢結(jié)果緩存起來,下次用戶再查詢時就可以從緩存中快速地獲得查詢結(jié)果。
Solr提供了強大的緩存機制來提高性能。表3-15列出了Solr提供的各種緩存。
表3-15 Solr中的緩存
filterCache | 文檔ID的無序集,可以實現(xiàn)在一定得文檔內(nèi)進行精確查詢 |
queryResultCache | 文檔ID的有序表,根據(jù)一定得策略排序的某個查詢的結(jié)果文檔 |
documentCache | 存儲從磁盤中獲得的Document的對象 |
User Caches | 自定義緩存 |
Solr還提供了緩存“預(yù)熱”(warm)機制,也就是在緩存建立時采取何種方式來獲得緩存中的數(shù)據(jù),其中常用的一種是從已有的緩存中拷貝過來。
到此,相信大家對“Solr1.3的核心機制是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。