核心探索
核心探索表示建立核心就像在磁碟上放置一個 core.properties
檔案一樣簡單。
core.properties 檔案
在 Solr 中,術語核心 用於指單一索引以及相關聯的交易記錄和設定檔(包括 solrconfig.xml
和 schema 檔案等)。您的 Solr 安裝可以根據需要有多個核心,這讓您可以在同一伺服器中索引具有不同結構的資料,並保持控制資料如何呈現給不同的受眾。在 SolrCloud 模式中,您會更熟悉集合 這個術語。在幕後,集合由一個或多個核心組成。
可以使用 bin/solr
腳本或作為使用 API 建立 SolrCloud 集合的一部分來建立核心。核心特定的屬性(例如用於索引或設定檔的目錄、核心名稱和其他選項)定義在 core.properties
檔案中。Solr 會找到您 Solr 安裝的任何目錄中的任何 core.properties
檔案(或在定義 solr_home
的目錄下的目錄中),並且定義的屬性將用於檔案中命名的核心。
core.properties
檔案是一個簡單的 Java Properties 檔案,其中每一行只是一個鍵=值對,例如,name=core1
。請注意,不需要引號。
一個最小的 core.properties
檔案如下面的範例所示。但是,它也可以是空的,請參閱下面有關 core.properties
放置位置的資訊。
name=my_core_name
core.properties 的放置位置
Solr 核心 (cores) 的配置方式是在 solr.home
下的子目錄中放置一個名為 core.properties
的檔案。樹狀結構的深度沒有預先限制,可以定義的核心數量也沒有限制。核心可以位於樹狀結構中的任何位置,但現有核心下不可以定義核心。也就是說,以下是不允許的:
./cores/core1/core.properties
./cores/core1/coremore/core5/core.properties
在這個例子中,列舉將在 "core1" 停止。
以下是合法的:
./cores/somecores/core1/core.properties
./cores/somecores/core2/core.properties
./cores/othercores/core3/core.properties
./cores/extracores/deepertree/core4/core.properties
可以將 Solr 分割為多個核心,每個核心都有自己的配置和索引。核心可以專用於單一應用程式或非常不同的應用程式,但所有核心都透過一個通用的管理介面進行管理。您可以動態建立新的 Solr 核心、關閉核心,甚至替換一個正在運行的核心,而無需停止或重新啟動 Solr。
您的 core.properties
檔案如果需要可以為空。假設 core.properties
位於 ./cores/core1
(相對於 solr_home
),但它是空的。在這種情況下,核心名稱將被假定為 "core1"。instanceDir 將是包含 core.properties
的資料夾 (即,./cores/core1
)。dataDir 將是 ../cores/core1/data
等。
您可以在不配置任何核心的情況下運行 Solr。 |
定義 core.properties 檔案
最小的 core.properties
檔案是一個空檔案,在這種情況下,所有屬性都會適當地使用預設值。
Java 屬性檔案允許使用井號 (#
) 或驚嘆號 (!
) 字元來指定行尾註解。
以下屬性可用:
name
-
可選
預設值:無
SolrCore 的名稱。當使用
CoreAdminHandler
執行命令時,您將使用此名稱來引用 SolrCore。 config
-
可選
預設值:
solrconfig.xml
給定核心的配置檔案名稱。
schema
-
可選
預設值:參見說明
給定核心的 schema 檔案名稱。預設值是
schema.xml
,但請注意,如果您使用的是「受管理 schema」(預設行為),則任何不符合有效的managedSchemaResourceName
的屬性值,都只會讀取一次、備份並轉換為受管理 schema 使用。請參閱 Schema Factory Configuration 以取得更多詳細資訊。 dataDir
-
可選
預設值:
data
核心的資料目錄 (索引的儲存位置),可以是絕對路徑名稱,或是相對於
instanceDir
值的路徑。 configSet
-
可選
預設值:無
如果需要,可以使用定義的 configset 名稱來配置核心 (請參閱 Configsets 章節以取得更多詳細資訊)。
properties
-
可選
預設值:無
此核心的屬性檔案名稱。該值可以是絕對路徑名稱,或是相對於
instanceDir
值的路徑。 transient
-
可選
預設值:
false
當為
true
時,如果 Solr 達到transientCacheSize
,核心可以被卸載。核心會按照最近最少使用的順序卸載。不建議在 SolrCloud 模式中將此設定為true
。 loadOnStartup
-
可選
預設值:
true
當為
true
(預設值) 時,核心將在 Solr 啟動時載入。不建議在 SolrCloud 模式中將此設定為false
。 coreNodeName
-
可選
預設值:參見說明
僅在 SolrCloud 中使用,這是託管此副本的節點的唯一識別碼。預設情況下,會自動產生
coreNodeName
,但明確設定此屬性可讓您手動分配一個新核心來取代現有的副本。例如,當透過在新機器上使用新的主機名稱或連接埠從備份還原,來取代硬體故障的機器時,這會很有用。 ulogDir
-
可選
預設值:無
此核心的更新日誌的絕對或相對目錄 (僅限 SolrCloud)。
shard
-
可選
預設值:無
將此核心分配到的分片 (僅限 SolrCloud)。
collection
-
可選
預設值:無
此核心所屬的集合名稱 (僅限 SolrCloud)。
roles
-
可選
預設值:無
SolrCloud 的未來參數,或是使用者標記節點以供自己使用的方法。
可以指定其他使用者定義的屬性,以作為變數使用。有關如何定義本機屬性的更多資訊,請參閱 Configuration Files 中的屬性替換 一節。