核心发现
核心发现意味着创建核心与磁盘上的 core.properties
文件一样简单。
core.properties 文件
在 Solr 中,术语核心用于指代单个索引和关联的事务日志和配置文件(包括 solrconfig.xml
和 schema 文件等)。如果需要,您的 Solr 安装可以有多个核心,这允许您在同一服务器中索引具有不同结构的数据,并控制如何向不同受众展示您的数据。在 SolrCloud 模式下,您将更熟悉术语集合。在幕后,一个集合由一个或多个核心组成。
可以使用 bin/solr
脚本或作为使用 API 创建 SolrCloud 集合的一部分来创建核心。核心特定属性(例如用于索引或配置文件的目录、核心名称和其他选项)在 core.properties
文件中定义。Solr 将找到 Solr 安装的任何目录(或在定义 solr_home
的目录下)中的任何 core.properties
文件,并将定义的属性用于文件中命名的核心。
core.properties
文件是一个简单的 Java 属性文件,其中每行只是一个键值对,例如,name=core1
。请注意,不需要引号。
最小的 core.properties
文件看起来像下面的示例。但是,它也可以是空的,请参阅下面关于 core.properties
放置的信息。
name=my_core_name
core.properties 的放置
通过在 solr.home
下的子目录中放置名为 core.properties
的文件来配置 Solr 核心。树的深度没有先验限制,也没有可以定义的核心数量限制。核心可以位于树中的任何位置,但例外情况是核心不能在现有核心下定义。也就是说,不允许以下内容
./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.xml
,但请注意,如果你正在使用“托管架构”(默认行为),那么此属性的任何值(与有效的managedSchemaResourceName
不匹配)都将被读取一次,备份,并转换为托管架构使用。有关更多详细信息,请参阅 架构工厂配置。 dataDir
-
可选
默认值:
data
内核的数据目录(存储索引的位置)作为绝对路径名或相对于
instanceDir
的值路径。 configSet
-
可选
默认值:无
如果需要,已定义配置集的名称,用于配置内核(有关更多详细信息,请参阅 配置集 部分)。
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 的未来参数或用户为其自己使用标记节点的一种方式。
可以指定其他用户定义的属性以用作变量。有关如何定义本地属性的更多信息,请参阅 配置文件中的属性替换 一节。