核心发现

核心发现意味着创建核心与磁盘上的 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 的未来参数或用户为其自己使用标记节点的一种方式。

可以指定其他用户定义的属性以用作变量。有关如何定义本地属性的更多信息,请参阅 配置文件中的属性替换 一节。