當前位置:成語大全網 - 古籍善本 - solr組件的作用是什麽?

solr組件的作用是什麽?

Solr是基於Lucene Java的開源搜索服務器,很容易添加到Web應用程序中。

第二,Solr提供級別搜索(即統計),hit醒目顯示,支持多種輸出格式(包括XML/XSLT和JSON)。它易於安裝和配置,並帶有壹個基於http

管理界面。Solr已經在很多大型網站使用,成熟穩定。

第三,Solr對Lucene進行了封裝和擴展,所以Solr基本遵循了Lucene的相關條款。更重要的是,Solr創建的索引完全兼容Lucene搜索引擎庫。

4.Solr可以讀取和使用內置在其他Lucene應用程序中的索引,在某些情況下可能需要對這些索引進行編碼。

5.此外,很多Lucene工具(如Nutch和Luke)也可以使用Solr創建的索引。Solr優秀的基礎搜索功能可以使用,也可以根據企業需求進行擴展。

solr的優勢

通過上面對solr的介紹,我們可以看到Solr的優勢包括以下幾個方面:

①高級全文搜索功能;

(2)具有高通容量的網絡流量優化;

③基於開放接口(XML和HTTP)的標準;

④全面的HTML管理界面;

⑤可擴展性——可以有效復制到另壹臺Solr搜索服務器上;

⑥使用XML配置實現靈活性和適應性;

⑦可擴展插件系統。

solr VS Lucene!?

在比較solr和Lucene之前,要知道Lucene是什麽,我們先來回顧壹下Lucene是什麽。

Lucene是壹個基於Java的全文信息檢索工具包。它不是壹個完整的搜索應用程序,但為您的應用程序提供了索引和搜索功能。Lucene目前是Apache Jakarta家族中的壹個開源項目。它也是最流行的基於Java的開源全文檢索工具包。目前很多應用的搜索功能都是基於Lucene的,比如Eclipse幫助系統的搜索功能。Lucene可以索引文本類型的數據,所以只要妳把想要索引的數據格式轉換成文本格式,Lucene就可以索引和搜索妳的文檔。

那麽,solr與之相比是“輸”了?還是“贏”?

其實Solr和Lucene並不是競爭和對立的。相反,Solr依賴於Lucene,因為Solr底層的核心技術是由Lucene實現的。Solr和Lucene有三個本質區別:搜索服務器、企業級和管理。Lucene本質上是壹個搜索庫,不是壹個獨立的應用,Solr才是。Lucene專註於搜索基礎設施的建設,Solr專註於企業應用。Lucene不負責支持搜索服務所需的管理,而Solr負責。所以,壹句話,Solr: Solr是Lucene對企業搜索應用的擴展。

以下是solr和lucene的架構圖:

這張圖很復雜,妳看不懂。不要灰心。妳可以在後面的代碼裏明白這張圖說的是什麽。

不難看出,綠色的是lucene的模塊,藍色的是solr擴展lucene。從圖中可以看出以下幾點:

A.具有動態字段和唯壹鍵的真實數據模式?

B.Lucene查詢語言的強大擴展!?

C.支持結果的動態分組和過濾?

D.高級和可配置的文本分析?

E.高度可配置和可擴展的緩存機制?

F.性能優化?

G.通過XML支持外部配置?

H.有管理界面?

壹.可監測的日誌?

j支持快速增量更新和快照分發。

說到這裏,solr的介紹就結束了。相信大家對solr已經有了初步的了解。solr有哪些共同的屬性?

solr的使用屬性和配置文件

文檔包括壹個或多個字段。字段包括名稱、內容和元數據,告訴Solr如何處理內容。

例如,Field可以包含字符串、數字、布爾值或日期,也可以包含任何妳想添加的類型,只需在solr的配置文件中使用它進行相應的配置即可。字段可以由許多選項來描述,這些選項

選項告訴Solr如何在索引和搜索過程中處理內容。

現在,看看下圖中列出的重要屬性的子集:

這裏提壹下solr的壹個重要文件,就是schema.xml的配置文件。

schema.xml

配置文件schema.xml可以在您下載solr包的安裝和解壓縮目錄的\ solr \ example \ Solr \ collection 1 \ conf中找到,Solr包是與Solr模式關聯的文件。

打開這個配置文件,您會發現詳細的註釋。模式組織主要分為三種重要的配置:

首先,字段類型

Fieldtype:表示屬性類型,比如int、String、Boolean。在這個配置文件中,FieldType具有定義屬性的功能。看下圖:?

圖中有大家熟悉的int,String,boolean。那麽,下面的配置是什麽?那麽我們來介紹以下參數:

第二,領域

Field:是添加到索引文件中的屬性的名稱,需要上面的類型來聲明類型,如圖:

Ps: ①字段:固定字段設置;②dynamicField:動態字段設置,用於以後定義字段,以及*通配符。例如,test_i是壹個int類型的動態字段。

還有壹個特殊的字段copyField,壹般用於檢索,這樣只有這個字段可以被索引和分段。如果有多個源,必須設置copyField的dest字段。