从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,等等。

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的一个保留参数,未来可能会用到,或用户用了做一些自己的标记
另外,用户还可以定义自己的属性,以作为其他配置文件的变量。
solr.xml配置标签:
  • <solrcloud/>:定义几个跟SolrCloud相关的参数,当solr启动参数带有-DzkRun 或 -DzkHost时,这个标签才生效
  • <logging/>:定义跟日志相关的配置参数
  • <shardHandlerFactory/>:配置自定义的shard handler

Config Sets:
在multicore的solr实例中,可以利用config set来提供统一的配置文件给各个core共享。这个可以通过在configSetBaseDir目录下创建一个目录来实现,该目录的结构如下:
/<configSetBaseDir>
/configset1
/conf
/schema.xml
/solrconfig.xml
/configset2
/conf
/schema.xml
/solrconfig.xml
缺省的configSetBaseDir就是$SOLR_HOME/configsets,也可以在solr.xml中指定这个目录。
非SolrCloud模式下,可以通过CoreAdmin API,把configset作为参数来创建一个新的core,比如:
http://<solr>/admin/cores?action=CREATE&name=mycore&instanceDir=path/to/instanc e&configSet=configset2
如果是SolrCloud模式下,配置信息是从zookeeper数据库中获取的。

Solr 配置文件之core.properties、solr.xml和Config Sets相关推荐

  1. java创建solr core_Solr定义core.properties

    核心发现意味着创建核心就像core.properties在磁盘上的文件一样简单. 该core.properties文件是一个简单的Java属性文件,其中每行只是一个key=value对,例如:name ...

  2. solr模糊查询_《Solr实战》之一

    本文记录笔者在阅读<Solr实战>的读书笔记,将笔者认为重要的内容摘录出来. Solr擅长处理的数据类型 以文本为中心 读主导 文档被读取的次数远大于被创建和更新的次数 面向文档 灵活的模 ...

  3. 跟益达学Solr5之core.properties配置详解

    学习Solr之前,我想对于初学Solr的小伙伴们来说, Solr的core概念是最令人头疼的,到底该怎么理解Solr中的core呢?以下是我从Solr的官方文档中摘下来的一段文字说明: In Solr ...

  4. Solr初始化源码分析-Solr初始化与启动

    用solr做项目已经有一年有余,但都是使用层面,只是利用solr现有机制,修改参数,然后监控调优,从没有对solr进行源码级别的研究.但是,最近手头的一个项目,让我感觉必须把solrn内部原理和扩展机 ...

  5. solr 配置mysql数据源_solr data-config.xml配置文件的见解mysql数据源

    陆续完善: 检查一下dataSource中的url 一般都能用.如果不能用 将后面的编码格式去掉 试试看 data-config.xml配置文件 deltaImportQuery="sele ...

  6. Solr 配置文件之schema.xml

    schema.xml这个配置文件的根本目的是为了通过配置告诉Solr怎样建立索引. solr的数据结构例如以下: document:一个文档.一条记录 field:域.属性 solr通过搜索某个或某些 ...

  7. Solr配置文件详解

    1  概述 Solr配置文件位于solr/conf目录下,因各个版本的solr目录不太一致,所以下面以solr5.x或者以上版本来说明相关配置文件的参数及一些相关作用. 2  目录结构说明 官网下载s ...

  8. spring核心配置文件引入外部properties文件和另外的xml配置文件

    spring核心配置文件引入外部properties文件和另外的xml配置文件 为什么要引入外部文件 我们使用jdbc的时候,会创建一个jdbc.properties配置文件,如果我需要在spring ...

  9. 【solr基础教程之一】Solr相关知识点串讲

    Solr是Apache Lucene的一个子项目.Lucene为全文搜索功能提供了完备的API,但它只作为一个API库存在,而不能直接用于搜索.因此,Solr基于Lucene构建了一个完整的搜索引擎, ...

最新文章

  1. 《走出软件作坊》书评活动图书奖品名单
  2. UISegmentedControl 分段器加载不同的viewcontroller
  3. redis分布式锁实现思路
  4. 【树莓派】树莓派移动网络连接(配置4G网卡)
  5. linux compress tar,Linux命令:压缩指令(compress,uncompress,gzip,gunzip,tar)
  6. 【Get 以太坊技能】CentOS 7 安装 go
  7. 【设计模式】学习笔记8:命令模式
  8. overflow与BFC解说
  9. 也许下一个倾家荡产的就是你
  10. Mac中mvn命令安装配置command not found
  11. 微型计算机的 CPU主要由两部分构成,微机是由哪两部分组成
  12. MAXENT模型的生物多样性生境模拟与保护优先区甄选、自然保护区布局优化评估及论文写作技巧
  13. 【教程】批量删除B站抽奖动态
  14. python实现外星人入侵——3.事件分析
  15. java基础之线程概述_繁星漫天_新浪博客
  16. iPhone 拍照声音如何关闭?教你4招防止发出相机「咔嚓」声
  17. 【Qt Linguist 进行中英文翻译】
  18. 8.29 网易面试准备
  19. 数据库编程入门(一)-PL/SQL快速入门
  20. 17系统升级(辉煌普及版)

热门文章

  1. alias简化k8s命令,节约生命
  2. ubuntu ctags php,Ubuntu下创建vim+Taglist+cscope+ctags组合编辑器
  3. layui做折线图_flask+layui+echarts实现前端动态图展示数据效果
  4. 做为程序员 给大家推荐不很错的淘宝店
  5. 2015年7月29日工作总结
  6. 学霸的计算机组成原理知识点清单
  7. NOIP刷题记录(打鼹鼠)——二维树状数组板子题
  8. Python字符串格式化的3种方法
  9. 在 Kubernetes 上安装和运行极狐GitLab实例
  10. 粉丝问我,写CSDN博客到底为了什么?