從5.0開始,solr採用了自動發現模式(discovery,區別於傳統模式legacy),Solr會自動找到安裝目錄中、或solr_home中的配置檔案:core.properties,並根據裡面的name屬性來初始化相對於的core。solr.xml中仍然會定義一些配置引數,但是core本身不會定義在這個檔案中。Solr會遞迴搜尋所有solr和solr_home目錄和子目錄,當在一個目錄中發現core.properties後,就停止搜尋當前目錄的所有子目錄,轉向下一個同級目錄搜尋。所以,下面兩個配置只有第一個生效:./cores/core1/core.properties./cores/core1/coremore/core5/core.properties而下面三個配置,都會生效:./cores/somecores/core1/core.properties./cores/somecores/core2/core.properties./cores/othercores/core3/core.properties一個core.properties檔案代表一個core。檔案的內容可以是空的,這個時候,solr會把該檔案所在的目錄作為name,比如跟./cores/core1/core.properties對應的core name就是core1;instanceDir就是./cores/core1;dataDir就是./cores/core1/data,等等。core.properties配置引數:name:SolrCore的名字config:該core的配置檔名字,預設是solrconfig.xmlschema:schema檔案的名字,預設是schema.xmldataDir:索引檔案的存放位置,相對於instanceDir的相對路徑,預設是“data”configSet:configSet的名字properties:該core的額外屬性檔案的路徑和名字,可以是絕對路徑、或相對於instanceDir的相對路徑transient:如果是true,當solr達到transientCacheSize這個限定時,這個core會被解除安裝(unload);預設是false,即使用LRU原則解除安裝。SolrCloud模式下true是不推薦的loadOnStartup:預設是true,就是在solr啟動的時候啟動該core。SolrCloud模式下false是不推薦的coreNodeName:只在SolrCloud的情況下使用,是這個replica所在的node的標識。這個名字預設是自動生成的。這個配置的名字可以在以後需要替換一個自動生成的名字的時候使用,比如使用一個新機器(新的hostname和port)替換一個壞機器的時候ulogDir:存放update log的絕對或相對路徑(SolrCloud)shard:這個core所歸屬的shard(SolrCloud)collection:這個core所屬的collection名字(SolrCloud)roles:SolrCloud的一個保留引數,未來可能會用到,或使用者用了做一些自己的標記另外,使用者還可以定義自己的屬性,以作為其他配置檔案的變數。solr.xml配置標籤::定義幾個跟SolrCloud相關的引數,當solr啟動引數帶有-DzkRun 或 -DzkHost時,這個標籤才生效:定義跟日誌相關的配置引數:配置自定義的shard handlerConfig Sets:在multicore的solr例項中,可以利用config set來提供統一的配置檔案給各個core共享。這個可以透過在configSetBaseDir目錄下建立一個目錄來實現,該目錄的結構如下:/
從5.0開始,solr採用了自動發現模式(discovery,區別於傳統模式legacy),Solr會自動找到安裝目錄中、或solr_home中的配置檔案:core.properties,並根據裡面的name屬性來初始化相對於的core。solr.xml中仍然會定義一些配置引數,但是core本身不會定義在這個檔案中。Solr會遞迴搜尋所有solr和solr_home目錄和子目錄,當在一個目錄中發現core.properties後,就停止搜尋當前目錄的所有子目錄,轉向下一個同級目錄搜尋。所以,下面兩個配置只有第一個生效:./cores/core1/core.properties./cores/core1/coremore/core5/core.properties而下面三個配置,都會生效:./cores/somecores/core1/core.properties./cores/somecores/core2/core.properties./cores/othercores/core3/core.properties一個core.properties檔案代表一個core。檔案的內容可以是空的,這個時候,solr會把該檔案所在的目錄作為name,比如跟./cores/core1/core.properties對應的core name就是core1;instanceDir就是./cores/core1;dataDir就是./cores/core1/data,等等。core.properties配置引數:name:SolrCore的名字config:該core的配置檔名字,預設是solrconfig.xmlschema:schema檔案的名字,預設是schema.xmldataDir:索引檔案的存放位置,相對於instanceDir的相對路徑,預設是“data”configSet:configSet的名字properties:該core的額外屬性檔案的路徑和名字,可以是絕對路徑、或相對於instanceDir的相對路徑transient:如果是true,當solr達到transientCacheSize這個限定時,這個core會被解除安裝(unload);預設是false,即使用LRU原則解除安裝。SolrCloud模式下true是不推薦的loadOnStartup:預設是true,就是在solr啟動的時候啟動該core。SolrCloud模式下false是不推薦的coreNodeName:只在SolrCloud的情況下使用,是這個replica所在的node的標識。這個名字預設是自動生成的。這個配置的名字可以在以後需要替換一個自動生成的名字的時候使用,比如使用一個新機器(新的hostname和port)替換一個壞機器的時候ulogDir:存放update log的絕對或相對路徑(SolrCloud)shard:這個core所歸屬的shard(SolrCloud)collection:這個core所屬的collection名字(SolrCloud)roles:SolrCloud的一個保留引數,未來可能會用到,或使用者用了做一些自己的標記另外,使用者還可以定義自己的屬性,以作為其他配置檔案的變數。solr.xml配置標籤::定義幾個跟SolrCloud相關的引數,當solr啟動引數帶有-DzkRun 或 -DzkHost時,這個標籤才生效:定義跟日誌相關的配置引數:配置自定義的shard handlerConfig Sets:在multicore的solr例項中,可以利用config set來提供統一的配置檔案給各個core共享。這個可以透過在configSetBaseDir目錄下建立一個目錄來實現,該目錄的結構如下:/