Solr中需要配置的文件主要有三個(gè):
我們從配置的角度看一下Solr Server是怎么啟動(dòng)的匆背。在Solr 4.7.0的example中王悍,運(yùn)行里面的start.jar時(shí)候泰佳,啟動(dòng)的是一個(gè)Java web應(yīng)用程序(用的是Jetty)萎胰,Solr web應(yīng)用通過一個(gè)全局的Java屬性(solr.solr.home)來識別配置文件所在的目錄纲熏,在example中妆丘,Solr的home directory(solr.solr.home)為本機(jī)中solr所在的目錄下的example/solr處。
接下來局劲,Solr掃描home directory的子目錄勺拣,找到core.properties文件,在示例中鱼填,core.properties文件里面包含一句:name=collection1药有,定義了core的名字。下圖展示了core.properties和solrconfig.xml在Solr初始化過程中是如何被使用以及如何配置collection1 core的:
在Solr服務(wù)器加載的時(shí)候苹丸,會(huì)自動(dòng)在core.properties文件中發(fā)現(xiàn)collection1這個(gè)core(即使它沒有在solr.xml中定義)愤惰,然后在colletion1文件夾下的solr.xml里面就有collection1的配置文件solrconfig.xml,solr運(yùn)用這個(gè)配置文件來對core都進(jìn)行初始化赘理。
core.properties文件除了能夠定義name之外宦言,還可以定義其他的屬性:
solrconfig.xml
因?yàn)楦鱾€(gè)配置文件都是xml文件,先了解一下xml中的data-structure和type elements:
<arr>和<lst>的區(qū)別:
<lst>中每個(gè)子元素都有name屬性感憾,而<arr>的子元素則unnamed.
Solr并不會(huì)實(shí)時(shí)更新solrconfig.xml文件蜡励,如果要apply更新令花,則需要在Solr的admin界面中手動(dòng)更新:
在配置文件的頂部會(huì)看到如下配置語句:
第一個(gè)標(biāo)簽定義了所用的lucene版本,第二個(gè)標(biāo)簽<lib dir/>定義了需要加載的jar包凉倚。
jmx是Java Management Extensions的縮寫兼都,這種高級玩法在后面再學(xué)習(xí)。
參考文獻(xiàn)
[1]Grainger T, Grainger T, Grainger T. Solr in Action[M]. Manning Publications, 2014.