Solr是Apache軟體基金組織旗下的一個頂級開源項目, 是**基於Lucene的全文搜索服務**, 是一個獨立的企業級搜索應用伺服器, 可以獨立運行於Jetty, Tomcat等Web容器中. 使用Solr可以很方便地實現全文索引和搜索等一系列功能. ...
目錄
1 Solr概述
1.1 Solr是什麼
Solr是Apache軟體基金組織旗下的一個頂級開源項目, 是基於Lucene的全文搜索服務, 是一個獨立的企業級搜索應用伺服器, 可以獨立運行於Jetty, Tomcat等Web容器中.
使用Solr可以很方便地實現全文索引和搜索功能, 比如:
1.1.1 創建索引
客戶端可以通過HTTP的post方法向Solr伺服器發送一個描述Field及其內容的XML文檔(或JSON格式的串), Solr伺服器根據XML文檔添加、更新、刪除索引;
1.1.2 搜索索引
客戶端可通過HTTP的get方法向Solr伺服器發送請求, 對Solr伺服器返回的XML、JSON格式的結果進行解析.
Solr不提供構建頁面UI的功能, 它提供了一個管理頁面, 通過管理頁面可以查詢Solr的配置和運行情況.
1.2 Solr與Lucene的區別
Lucene是一個開放源代碼的全文檢索引擎工具包, 提供了完整的索引引擎和查詢引擎功能, 目的是為開發人員提供一個簡單易用的工具包, 以方便在目標系統中實現全文檢索的功能, 或以Lucene為基礎構建全文檢索應用. 它不是一個完整的服務, 不能獨立運行.
Solr的目標是打造一款企業級的搜索引擎系統. 它是基於Lucene構建的全文檢索服務, 是一個完整的服務, 可獨立運行於Web容器中.
通過Solr可以快速構建企業級的搜索引擎, 也可高效地完成站內搜索功能.
2 Solr文件說明
2.1 Solr的目錄結構
下載Solr安裝包:
下載地址: http://archive.apache.org/dist/lucene/solr/
說明: Solr與Lucene在3.x版本後開始同步更新, 這裡使用4.10.4版本(從Solr 5.x開始要求JDK必須是1.8及以上).
目錄說明:
| bin: Solr的運行腳本
| contrib: Solr的擴展jar包, 用於增強Solr功能
| dist: build過程中生成的war和jar文件, 以及其他依賴文件
| docs: Solr的API文檔
| example: Solr工程的示例目錄
--- | solr: 標準的SolrHome, 包含一個預設的SolrCore(即collection1)
--- | multicore: 包含了在Solr的multicore中設置的多個Core目錄
--- | webapps: 包含了一個solr.war, 該war包可作為Solr的運行示例工程(這裡部署的Solr服務就使用它)
| licenes: Solr相關的許可信息
2.2 其他常用概念說明
SolrHome目錄是Solr服務運行的主目錄.
一個SolrHome目錄可包含多個SolrCore.
SolrCore目錄中包含了運行Solr實例的配置文件和數據文件(日誌和索引文件).
每一個SolrCore提供獨立的索引和搜索服務.
2.3 創建基礎文件目錄
建立work目錄(作為SolrHome根目錄);
將Solr解壓目錄中的solr目錄, 拷貝至work目錄下;
此時SolrHome(即solr, 為方便可改名為solrhome)和SolrCore(即collection1)的目錄結構如下:
說明:
conf: SolrCore運行的配置信息;
data: SolrCore存放日誌和索引文件的目錄;
core.properties: SolrCore的信息, 如名稱等, 在Solr運行時創建.
2.4 solrconfig.xml文件說明
說明: solrconfig.xml文件位於SolrCore的conf目錄下, 通過solrconfig.xml可以配置SolrCore實例的相關信息, 可不作修改. 企業項目開發中需要修改三個常用的標簽: lib標簽、datadir標簽、requestHandler標簽.
詳細說明請參見: Solr02-solrconfig.xml文件詳細說明
2.5 schema.xml文件說明
說明: schema.xml文件在SolrCore的conf目錄(即collection1/conf)下, 主要用於配置Solr的域(Field)以及域的類型(FieldType). 在Solr中, 域要先配置再使用.
詳細說明請參見: Solr03-schema.xml文件詳細說明
版權聲明
作者: ma_shoufeng(馬瘦風)
出處: 博客園 馬瘦風的博客
您的支持是對博主的極大鼓勵, 感謝您的閱讀.
本文版權歸博主所有, 歡迎轉載, 但未經博主同意必須保留此段聲明, 且在文章頁面明顯位置給出原文鏈接, 否則博主保留追究法律責任的權利.