目錄html
Solr是Apache軟件基金組織旗下的一個頂級開源項目, 是基於Lucene的全文搜索服務, 是一個獨立的企業級搜索應用服務器, 能夠獨立運行於Jetty, Tomcat等Web容器中.web
使用Solr能夠很方便地實現全文索引和搜索功能, 好比:apache
(1) 建立索引服務器
客戶端能夠經過HTTP的post方法向Solr服務器發送一個描述Field及其內容的XML文檔(或JSON格式的串), Solr服務器根據XML文檔添加、更新、刪除索引;app
(2) 搜索索引webapp
客戶端可經過HTTP的get方法向Solr服務器發送請求, 對Solr服務器返回的XML、JSON格式的結果進行解析.工具
Solr不提供構建頁面UI的功能, 它提供了一個管理頁面, 經過管理頁面能夠查詢Solr的配置和運行狀況.post
Lucene是一個開放源代碼的全文檢索引擎工具包, 提供了完整的索引引擎和查詢引擎功能, 目的是爲開發人員提供一個簡單易用的工具包, 以方便在目標系統中實現全文檢索的功能, 或以Lucene爲基礎構建全文檢索應用. 它不是一個完整的服務, 不能獨立運行.優化
Solr的目標是打造一款企業級的搜索引擎系統. 它是基於Lucene構建的全文檢索服務, 是一個完整的服務, 可獨立運行於Web容器中. ui
經過Solr能夠快速構建企業級的搜索引擎, 也可高效地完成站內搜索功能.
(1) 下載Solr安裝包:
下載地址: http://archive.apache.org/dist/lucene/solr
說明: Solr與Lucene在3.x版本後開始同步更新, 這裏使用4.10.4版本(從Solr 5.x開始要求JDK必須是1.8及以上).
(2) Solr安裝包目錄說明:
| 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相關的許可信息
SolrHome目錄是Solr服務運行的主目錄:
一個SolrHome目錄可包含多個SolrCore.
SolrCore目錄中包含了運行Solr實例的配置文件和數據文件(日誌和索引文件).
每個SolrCore提供獨立的索引和搜索服務.
(1) 創建work目錄(做爲SolrHome根目錄);
(2) 將Solr解壓目錄中的solr目錄, 拷貝至work目錄下;
此時SolrHome(即solr, 爲方即可更名爲solrhome)和SolrCore(即collection1)的目錄結構以下:
說明:
conf: SolrCore運行的配置信息;
data: SolrCore存放日誌和索引文件的目錄;
core.properties: SolrCore的信息, 如名稱等, 在Solr運行時建立.
說明: solrconfig.xml
文件位於SolrCore的conf目錄下, 經過solrconfig.xml
能夠配置SolrCore實例的相關信息, 可不做修改.
企業項目開發中須要修改三個經常使用的標籤: lib標籤、datadir標籤、requestHandler標籤
.
詳細說明請參見: Solr 02 - 最詳細的solrconfig.xml配置文件解讀
說明: schema.xml
文件在SolrCore的conf目錄(即collection1/conf
)下, 主要用於配置Solr的域(Field)以及域的類型(FieldType).
在Solr中, 域要先配置再使用.
詳細說明請參見: Solr 03 - Solr的模式設計與優化 - 最詳細的schema.xml模式文件解讀
版權聲明
做者: 馬瘦風
出處: 博客園 馬瘦風的博客
您的支持是對博主的極大鼓勵, 感謝您的閱讀.
本文版權歸博主全部, 歡迎轉載, 但請保留此段聲明, 並在文章頁面明顯位置給出原文連接, 不然博主保留追究相關人員法律責任的權利.