solr核心solrconfig.xml配置详解
solrconfig.xml是核心的主要配置,配置core的主要信息
<?xml version="1.0" encoding="UTF-8" ?>
<config>
<luceneMatchVersion>7.2.2</luceneMatchVersion>
<!-- 指定数据存放目录,默认./data -->
<!-- <dataDir>${solr.data.dir:}</dataDir> -->
<!-- 目录实现工厂, 默认的 NRTCachingDirectoryFactory 是基于文件系统的,并且试图为当前的JVM和平台选择最好的实现-->
<directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"/>
<!-- 索引配置 -->
<indexConfig>
<!-- 索引锁
native:默认值,使用NativeFSLockFactory指定本机操作系统文件锁定。如果第二个Solr进程试图访问该目录,
它将会失败。当多个Solr Web应用程序试图共享单个索引时,请勿使用它们
-->
<lockType>native</lockType>
<!-- 输出建索引日志 -->
<infoStream>false</infoStream>
</indexConfig>
<!-- 更新索引配置
硬提交:可以立即搜索到,数据会立即持久化到磁盘
软提交:可以立即搜索到,数据不会立即持久化到磁盘
-->
<updateHandler class="solr.DirectUpdateHandler2">
<!-- 自动硬提交 -->
<autoCommit>
<!-- 间隔多少秒进行一次硬提交 -->
<maxTime>-1</maxTime>
<!-- 是否打开搜索器
true:可以搜索到,并且会立即持久化到磁盘,性能消耗比较高
false:可以搜索到,但是不会立即存储到磁盘,性能消耗比较低 -->
<openSearcher>false</openSearcher>
</autoCommit>
<!-- 自动软提交 -->
<autoSoftCommit>
<maxTime>-1</maxTime>
</autoSoftCommit>
</updateHandler>
<!-- solr查询响应相关配置 -->
<query>
<!-- 设置查询最多的条件,默认为1024 -->
<maxBooleanClauses>1024</maxBooleanClauses>
<!-- 大于多少毫秒的查询记录日志 -->
<slowQueryThresholdMillis>2000</slowQueryThresholdMillis>
<!-- 缓存设置
size:可缓存的最大条数
initialSize:初始化时的大小
autowarmCount:当切换 SolrIndexSearcher 时,对新的 searcher 做预热处理,
值为从旧的 searcher 取多少项到新 searcher 重新生成
-->
<!-- 过滤器缓存 -->
<!-- <filterCache class="solr.FastLRUCache" size="0" initialSize="0" autowarmCount="0"/> -->
<!-- 查询缓存 -->
<!-- <queryResultCache class="solr.LRUCache" size="0" initialSize="0" autowarmCount="0"/> -->
<!-- lucene documents缓存 -->
<!-- <documentCache class="solr.LRUCache" size="0" initialSize="0" autowarmCount="0"/> -->
<!-- 如果设置为true,则不直接请求的字段将根据需要延迟加载 -->
<enableLazyFieldLoading>true</enableLazyFieldLoading>
<!-- 与queryResultCache此一起使用时,这将缓存请求数量的文档ID的超集。
例如,如果响应于特定查询的搜索请求文档10到19,并且queryWindowSize是50,则文档0到49将被高速缓存。 -->
<!-- <queryResultWindowSize>20</queryResultWindowSize> -->
<!-- 此参数设置要缓存的文档的最大数量queryResultCache -->
<!-- <queryResultMaxDocsCached>20</queryResultMaxDocsCached> -->
<!-- 是否使用冷搜索 -->
<useColdSearcher>false</useColdSearcher>
</query>
<!-- 数据源配置,如需使用数据库作为数据源则可以此配置,并在当前目录配置data-config.xml文件
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
-->
<!-- 主从配置 -->
<requestHandler name="/replication" class="solr.ReplicationHandler">
<!-- 主服务器配置 -->
<lst name="master">
<!-- 执行 commit 操作后进行 replicate 操作同样的设置’startup’,
‘commit’, ‘optimize’ -->
<str name="replicateAfter">commit</str>
<!-- 执行 startup 操作后进行 replicate 操作 -->
<str name="replicateAfter">startup</str>
<!-- 复制索引时也同步以下配置文件 -->
<str name="confFiles">managed-schema,stopwords.txt</str>
</lst>
<!-- 从服务器配置 -->
<lst name="slave">
<!-- 主服务器的URL -->
<str name="masterUrl">http://192.168.1.168:8983/solr/testCore</str>
<!-- 间隔多久进行一次同步操作(时:分:秒) -->
<str name="pollInterval">00:00:10</str>
<!-- 压缩机制,来传输索引, 可选internal|external, internal内网, external外网 -->
<str name="compression">internal</str>
<!-- 设置超时时间 -->
<str name="httpConnTimeout">50000</str>
<str name="httpReadTimeout">500000</str>
<!-- 验证信息, 要与master服务器匹配 -->
<str name="httpBasicAuthUser">admin</str>
<str name="httpBasicAuthPassword">admin</str>
</lst>
</requestHandler>
<!-- 查询配置 -->
<requestHandler name="/select" class="solr.SearchHandler">
<lst name="defaults">
<!-- 返回的responseHeader里包含哪些信息
explicit:默认值
all:包含所有对查询有用的参数
none: 不显示params的信息 -->
<str name="echoParams">explicit</str>
<!-- 定义默认查询的字段 -->
<str name="df">title</str>
<!-- 定义分词时用"AND"还是用"OR"操作逻辑 -->
<str name="q.op">AND</str>
<!-- 默认显示多少条 -->
<int name="rows">10</int>
</lst>
</requestHandler>
</config>