共有两种方式可以生成core.properties文件
第一种
在我的博客Solr6.3 Getting Started Solr6.3 Add Core 添加Core中含有,
即通过浏览器的Solr Admin管理界面创建Core时生成。
第二种
新建core.properties文件,添加配置信息,这样可以直接被Solr Admin管理识别,不必Add Core。
因为从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,等等。
此篇博客重点关注第二种,并对配置信息做简单的介绍
首先查看Solr6.3 Getting Started Solr6.3 Add Core 添加Core中生成的core.properties文件中的信息就会有一个初步的认识。
name:SolrCore的名字
config:该core的配置文件名字,缺省是solrconfig.xml
schema:schema文件的名字,缺省是schema.xml
dataDir:索引文件的存放位置,相对于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的一个保留参数,未来可能会用到,或用户用了做一些自己的标记
而且,我们还可以定义自己的属性,以作为其他配置文件的变量。