Apache Solr 是一個開源的搜尋伺服器。 Solr 使用 Java 語言開發,主要基於 HTTP 和 Apache Lucene 實作。 Apache Solr 中儲存的資源是以 Document 為物件儲存的。
每個文件由一系列的 Field 構成,每個 Field 表示資源的一個屬性。 Solr 中的每個 Document 需要有一個能唯一標識其自身的屬性,預設這個屬性的名字是 id,在 Schema 設定檔中使用:
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使用教學欄位學習!
以上是Apache Solr是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!