Solr裏面的core就像數據庫裏面的一個表,用來管理索引和相關配置。
一、使用示例core
下載的solr完整包裏面solr-4.7.0\example\multicore這個文件夾下面有2個示例core;分別是core0和core1;如下圖:
隨便拷貝個到 $SOLR_HOME$,$SOLR_HOME$在什麼地方配置的呢,就是你solr的web服務裏面的web.xml裏面配置,如下面配置,其中:D:\workspace\lucene\solr_home就是我的$SOLR_HOME$。
- <env-entry>
- <env-entry-name>solr/home</env-entry-name>
- <env-entry-value>D:\workspace\lucene\solr_home</env-entry-value>
- <env-entry-type>java.lang.String</env-entry-type>
- </env-entry>
這裏我們拷貝core0到我們的$SOLR_HOME$。
現在我們看看core0下面都有什麼,這時候裏面就一個conf文件夾,什麼都沒有。在core0/conf裏面也就2個xml文件,分別是schema.xml、solrconfig.xml;
schema.xml定義了core0的field類型和名稱,field就像數據庫的字段,field的類型就像數據庫的字段類型,field的名稱就像數據庫的字段名稱;
solrconfig.xml描述了core0管理配置,比如指定索引文件的存儲位置、日誌文件的存儲位置、使用什麼管理器等。
啓動solr服務,進入solr的管理界面,選中core Admin欄,如下圖:
我們點擊Add Core按鈕,在彈出的界面中把name和instanceDir的值改爲core0,也就是我們上面拷貝到$SOLR_HOME$的那個core0文件夾的名稱,點擊那個藍色的Add Core按鈕。
我們成功在solr服務器新加了一個core。
現在我們再回到$SOLR_HOME$/core0,發現下面多了一個data文件夾和一個core.properties文件。這2個東西就是我們在solr的管理頁面操作的時候solr自己給我們創建的。我們爲什麼在管理頁面能夠看到core0,solr服務如何知道$SOLR_HOME$下面有個core0,其實還是core.properties在發揮作用。其實我們可以通過手動寫core.properties來完成新建core。
core.properties
- #Written by CorePropertiesLocator
- #Sat Mar 15 15:49:01 CST 2014
- name=core0
- config=solrconfig.xml
- schema=schema.xml
- dataDir=data
二、手動新建core
在$SOLR_HOME$新建clj_core文件夾,然後在clj_core文件夾下面再建立一個conf文件夾,我們把示例core0裏面的conf下面的2個xml文件拷貝到新建的clj_core/conf文件夾下面;我們在clj_core下面新建一個core.properties文件配置如下:
- name=core1
- config=solrconfig.xml
- schema=schema.xml
- dataDir=data
重啓solr服務,我們便在solr的管理頁面看到我們新建的core1了。注意一點我們的core的名稱和core的文件夾可以不一樣,但是最好定義爲一樣的,方便管理。像上面我們手動建立的core1,其實我們的core文件夾名稱是clj_core,這樣的設計對維護很不友好,最好把文件夾名稱改爲core1或者把core的名稱改爲clj_core.