solr.xml 之core

每个 core 指定一个 SolrCore,core 是 cores 的子元素,core 元素有以下 6 个属性:
name
SolrCore 名称,在通过 CoreAdminHandler 运行命令时,需要这个名称
instanceDir
core 文件的路径,相对于 solr home 目录 
config
指定 core 的配置文件的名称,默认为 solrconfig.xml
schema
指定 schema.xml 配置文件的名称,默认为 schema.xml
dataDir
core 数据存放的路径,相对于 solr home 目录
properties
core 的属性文件的路径,可以是绝对路径也可以是相对于 instanceDir 的绝对路径。

solrconfig.xml 之 enableLazyFieldLoading

如果这个参数设置为 true,不是直接请求的字段将会被延迟加载。这个可以提高性能,在查询只是查小数据量字段时,那些大内容字段将会延迟加载。
<enableLazyFieldLoading>true</enableLazyFieldLoading>

solrconfig.xml 之 maxWarmingSearchers

该参数用于设置最大的 searcher 数量,这些 searcher 实现预热好的,随时可以调用。如果超过这个数量,将会报错。在一个只读的索引库中,2个预热的 searcher 是相对合理的,如果是读写的索引库中,根据内存和cpu的大小可以给一个相对大一点的值。

<maxWarmingSearchers>2</maxWarmingSearchers>

solrconfig.xml 之 maxBooleanClauses

设置boolean 查询中,最大条件数。在范围搜索或者前缀搜索时,会产生大量的 boolean 条件,如果条件数达到这个数值时,将抛出异常,限制这个条件数,可以防止条件过多查询等待时间过长。

<maxBooleanClauses>1024</maxBooleanClauses>

solrconfig.xml 之 autoCommit

这个设置用于控制什么时候将更新的数据写入索引,该设置由以下两个子参数

maxDocs
当索引的文档达到这个数量时,就自动更新到索引中
maxTime
单位为毫秒,当离上一次 commit 超过这个时间后,将自动最近更新的文档写入索引中
只要达到上面任一条件,solr 都将自动最近更新的文档写入索引中,如果没有指明 autoCommit 这个参数,只能通过显示调用 commit 才能将最近更新的文档写入索引中。
设置这个参数时,就需要最性能和准确度之间做个权衡,频繁提交,可以提高数据准确性,但是对性能有一定的损耗。
<autoCommit>
	<maxDocs>10000</maxDocs>
	<maxTime>1000</maxTime>
</autoCommit>

solrconfig.xml 之 updateHandler

用指定索引更新的处理类。

<updateHandler class="solr.DirectUpdateHandler2"></updateHandler>

solrconfig.xml

solrconfig.xml 是 solr 的主配置文件,里头配置的参数影响着 solr 的工作,在这个文件里可以配置以下部分内容:

  • 请求处理类
  • 监听器(监听器可以触发一些特殊的代码,比如预热查询缓存)
  • HTTP 通讯的请求调度
  • 分布式过程中的索引复制
该文件存在 solr/conf 目录下

Copyright © All Rights Reserved · Green Hope Theme by Sivan & schiy · Proudly powered by WordPress