1. 程式人生 > >3.Solr4.10.3目錄結構

3.Solr4.10.3目錄結構

產品 Coding 1.0 是個 commit collect 記錄 class 引擎

轉載請出自出處:http://www.cnblogs.com/hd3013779515/

1.整個目錄結構

技術分享

(1)bin:是腳本的啟動目錄

(2)contrib:第三方包存放的目錄

(3)dist:編譯打包後存放目錄,即構建後的輸出產物存放的目錄

(4)docs:solr文檔的存放目錄

(5)example:示範例子的存放目錄和solr搜索引擎框架

(6)licenses:權限相關的

2.example目錄詳解

技術分享

contexts:jetty的環境

etc:jetty的配置文件

example-DIH:示範例子的存放目錄,這裏展示了DIH,即數據導入處理的例子

lib:jetty服務器的jar包

multicore:core示例配置文件

resources:資源文件

scripts:腳本文件

solr:solr服務器的配置文件,solr基於jetty服務器開發的

webapps:solr的web工程

start.jar:啟動jar包。通過Java命令就可以啟動一個基於jetty服務器的web工程

3.認識概念“core”

打個比方,solr就像是個操作系統,安裝在操作系統中的軟件就是“core”,每個core有自身的配置文件及數據。解壓後的文件/example/solr/collection1就是一個core,這個core由/example/solr/solr.xml管理。

如圖:

技術分享

一個core如果想讓solr管理,就需要註冊到solr.xml配置文件中,solr.xml配置如見如下:

<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="true">
 <cores defaultCoreName="collection1" adminPath="/admin/cores" zkClientTimeout="${zkClientTimeout:15000}" hostPort="8983" hostContext="solr">
 <core loadOnStartup="true" instanceDir="collection1" transient="false" name="collection1"
/> </cores> </solr>

4.創建多個core
在實際的項目中,有時候一個solr下面不可能只有一個core,會有多個。比如企業搜索、產品搜索等等。這時你可以復制一份或多份/example/solr/collection1到你的solr home中,並改成你想要的文件名,最後把新添加的core註冊到/example/solr/solr.xml中:

<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="true">
 <cores defaultCoreName="collection1" adminPath="/admin/cores" zkClientTimeout="${zkClientTimeout:15000}" hostPort="8983" hostContext="solr">
 <core loadOnStartup="true" instanceDir="collection1" transient="false" name="collection1"/>
<core loadOnStartup="true" instanceDir="newCore" transient="false" name="newCore"/>
</cores> 
</solr>

5.認識core的目錄結構
技術分享
每個core中都有兩個文件,conf和data
conf:主要用於存放core的配置文件,
(1)schema.xml用於定義索引庫的字段及分詞器等,這個配置文件是核心文件
(2)solrconfig.xml定義了這個core的配置信息,比如:

<autoCommit>  <maxTime>15000</maxTime>  <openSearcher>false</openSearcher>  </autoCommit>

定義了什麽時候自動提交,提交後是否開啟一個新的searcher等等。
data:主要用於存放core的數據,即index-索引文件和log-日誌記錄。

3.Solr4.10.3目錄結構