Solr(五)solrconfig.xml配置文件详解

solrconfig.xml文件路径:solrhome/collection1/conf/solrconfig.xml 

solrconfig.xml 中的配置项主要分以下几大块:
1. 依赖的 lucene 版本配置 ,这决定了你创建的 Lucene 索引结构,因为 Lucene 各版本之间的索引结构并不是完全兼容的,这个需要引起你的注意。

5.3.1

2. 索引创建相关的配置 ,如索引目录, IndexWriterConfig 类中的相关配置 ( 它决定了你的索引创建性能 )

maxTokenCount 即在对某个域分词的时候,最多只提取前 10000 个 Token ,后续的域值将被抛弃。

1000
writeLockTimeout 表示 IndexWriter 实例在获取写锁的时候最大等待超时时间,超过指定的超时时间仍未获取到写锁,则 IndexWriter 写索引操作将会抛出异常。
8
表示创建索引的最大线程数,默认是开辟 8 个线程来创建索引。
100
表示创建索引时内存缓存大小,单位是 MB, 默认最大是 100M 。
1000

表示在 document 写入到硬盘之前,缓存的 document 最大个数,超过这个最大值会触发索引的 flush 操作。

3.solrconfig.xml 中依赖的外部 jar 包加载路径配置
如:
这里的 dir 表示一个 jar 包目录路径,该目录路径是相对于你当前 core 根目录的;regex 表示一个正则表达式,用来过滤文件名的,符合正则表达式的 jar 文件将会被加载
${solr.data.dir:}

如果solrhome 下不存在 core 的话,那 dataDir 默认就是相对于 solrhome

4. 缓存相关配置,缓存包括过滤器缓存,查询结果集缓存, Document 缓存,以及自定义缓存等等
size="512"
initialSize="512"
autowarmCount="0"/>
用来配置 filter 过滤器的缓存相关的参数
size="512"
initialSize="512"
autowarmCount="0"/>

用来配置对 Query 返回的查询结果集即 TopDocs 的缓存

size="512"
initialSize="512"
autowarmCount="0"/>
用来配置对 Document 中存储域的缓存,因为每次从硬盘上加载存储域的值都是很昂贵的操作,这里说的存储域指的是那些 Store.YES 的 Field 。

5.updateHandler 配置即索引更新操作相关配置

指定索引更新操作处理类, DirectUpdateHandler2 是一个高性能的索引更新处理类,它支持软提交。

 
 ${solr.ulog.dir:}  
   
设置索引库更新日志,默认路径为solrhome下面的data/tlog。
 
 15000  
 10000  
 false  
  
自动硬提交方式:maxTime:设置多长时间提交一次maxDocs:设置达到多少文档提交一次openSearcher:文档提交后是否开启新的searcher,

 如果false,文档只是提交到index索引库,搜索结果中搜不到此次提交的文档;如果true,既提交到index索引库,也能在搜索结果中搜到此次提交的内容。

6.RequestHandler 相关配置,即接收客户端 HTTP 请求的处理类配置,输入的请求会通过请求中的路径被转发到特定的处理器
 
   
          explicit 
          json 
          true 
   

这个 requestHandler 配置的是请求 URL  /query 跟请求处理类 SearcherHandler 之间的一个映射关系,即你访问 http://localhost:8080/solr/coreName/query?q=xxx时,会交给 SearcherHandler 类来处理这个 http 请求,你可以配置一些参数来干预SearcherHandler 处理细节。

(查询)
(关系型数据库全量引入,后面会介绍到)
(备份)
(拼写)
(智能提示)
其他的一些 RequestHandler 说明详见实际配置文件。

你可能感兴趣的:(solr)