Apache Solr是什么

apache solr 是一個開源的搜索服務器。solr 使用 java 語言開發,主要基于 http 和 apache lucene 實現。apache solr 中存儲的資源是以 document 為對象進行存儲的。

Apache Solr是什么

每個文檔由一系列的 Field 構成,每個 Field 表示資源的一個屬性。Solr 中的每個 Document 需要有能唯一標識其自身的屬性,默認情況下這個屬性的名字是 id,在 Schema 配置文件中使用:id進行描述。

Solr是一個高性能,采用Java5開發,基于Lucene的全文搜索服務器。Solr是一個獨立的企業級搜索應用服務器,目前很多企業運用solr開源服務。原理大致是文檔通過Http利用XML加到一個搜索集合中。查詢該集合也是通過 http收到一個XML/JSON響應來實現。

它的主要特性包括:高效、靈活的緩存功能,垂直搜索功能,高亮顯示搜索結果,通過索引復制來提高可用性,提供一套強大Data Schema來定義字段,類型和設置文本分析,提供基于Web的管理界面等。

Solr 程序包 的目錄結構

build :在solr 構建過程中放置已編譯文件的目錄。

client :包含了一些特定語言調用Solr 的API 客戶端程序,目前只有Ruby 可供選擇,Java 客戶端叫SolrJ 在src/solrj 中可以找到。

dist :存放Solr 構建完成的JAR 文件、WAR 文件和Solr 依賴的JAR 文件。

example :是一個安裝好的Jetty 中間件,其中包括一些樣本數據和Solr 的配置信息。

example/etc :Jetty 的配置文件。

example/multicore :當安裝Slor multicore 時,用來放置多個Solr 主目錄。

example/solr :默認安裝時一個Solr 的主目錄。example/webapps :Solr 的WAR 文件部署在這里。

src :Solr 相關源碼。

src/java :Slor 的Java 源碼。

src/scripts :一些在大型產品發布時一些有用的Unix bash shell 腳本。

src/solrj :Solr 的Java 客戶端。s

rc/test :Solr 的測試源碼和測試文件。

src/webapp :Solr web 管理界面。管理界面的Jsp 文件都放在web/admin/ 下面,可以根據你的需要修改這些文件。

Solr 的源碼沒有放在同一個目錄下,src/java 存放大多數文件,src/common 是服務器端與客戶端公用的代碼,src/test 放置solr 的測試程序,serlvet 的代碼放在src/webapp/src 中。

更多Apache相關技術文章,請訪問Apache使用教程欄目進行學習!

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享