SolrConfig详解

solrconfig.xml配置文件中包含了很多solr自身配置相关的参数,solrconfig.xml配置文件示例可以从solr的解压目录下找到,如图: 用文本编辑软件打开solrconfig.xml配置,你将会看到以下配置内容:

 
    4.6
    ${solr.core0.data.dir:}
    
        class="${solr.directoryFactory:solr.StandardDirectoryFactory}" />
    
    
 
    
        ${solr.lock.type:native}
        true
    
 
    
 
    
        
            ${solr.core0.data.dir:}
        
         
           ${solr.autoCommit.maxTime:15000} 
           false 
         
    
 
    
    
        1024
        
        
        
        
        
            initialSize="5" autowarmCount="10" regenerator="solr.NoOpRegenerator" />
        true
        20
        200
        
        
            
                _type
            
            
                zipCode
            
            
                categorys
            
            
                overall
            
            
                languageSpoken
            
            
                status
            
            
                createDate
            
            
                
                    budget_min
                    budget_max
                
            
            
                
                    budget_min:[0 TO 50] AND budget_max:{0 TO *]
                    budget_min:[0 TO 100] AND budget_max:{50 TO *]
                    budget_min:[0 TO 150] AND budget_max:{100 TO *]
                    budget_min:[0 TO 200] AND budget_max:{150 TO *]
                    budget_min:[0 TO 300] AND budget_max:{200 TO *]
                    budget_min:[0 TO 400] AND budget_max:{300 TO *]
                    budget_min:[0 TO 500] AND budget_max:{400 TO *]
                    budget_min:[0 TO 1000] AND budget_max:{500 TO *]
                    budget_min:[0 TO 2000] AND budget_max:{1500 TO *]
                    budget_min:[0 TO 3000] AND budget_max:{2000 TO *]
                    budget_min:[0 TO 4000] AND budget_max:{3000 TO *]
                    budget_min:[0 TO 5000] AND budget_max:{4000 TO *]
                    budget_max:[5000 TO *]
                
            
        
        
            
                _type
            
            
                zipCode
            
            
                categorys
            
            
                overall
            
            
                languageSpoken
            
            
                status
            
            
                createDate
            
            
                
                    budget_min
                    budget_max
                
            
            
                
                    budget_min:[0 TO 50] AND budget_max:{0 TO *]
                    budget_min:[0 TO 100] AND budget_max:{50 TO *]
                    budget_min:[0 TO 150] AND budget_max:{100 TO *]
                    budget_min:[0 TO 200] AND budget_max:{150 TO *]
                    budget_min:[0 TO 300] AND budget_max:{200 TO *]
                    budget_min:[0 TO 400] AND budget_max:{300 TO *]
                    budget_min:[0 TO 500] AND budget_max:{400 TO *]
                    budget_min:[0 TO 1000] AND budget_max:{500 TO *]
                    budget_min:[0 TO 2000] AND budget_max:{1500 TO *]
                    budget_min:[0 TO 3000] AND budget_max:{2000 TO *]
                    budget_min:[0 TO 4000] AND budget_max:{3000 TO *]
                    budget_min:[0 TO 5000] AND budget_max:{4000 TO *]
                    budget_max:[5000 TO *]
                
            
        
        false
        2
    
 
    
        
            multipartUploadLimitInKB="2048000" formdataUploadLimitInKB="2048"
            addHttpRequestToContext="false" />
        
    
 
    
        
            explicit
            10
            id
        
    
 
    
        
            explicit
            json
            true
            text
        
    
 
    
        
            true
            json
            true
        
    
    
    
    
    
    
 
    
        
            solrpingquery
        
        
            all
            id
        
    
    
        startup="lazy" />
 
    
        text/plain; charset=UTF-8
    
    
        class="solr.VelocityResponseWriter" startup="lazy" />
 
    
        *:*
    
 

 

 

下面我将对其中关键地方加以解释说明:

 lib

         lib标签指令可以用来告诉Solr如何去加载solr plugins(Solr插件)依赖的jar包,在solrconfig.xml配置文件的注释中有配置示例.

       例如:

这里的dir表示一个jar包目录路径,该目录路径是相对于你当前core根目录的;regex表示一个正则表达式,用来过滤文件名的,符合正则表达式的jar文件将会被加载

dataDir parameter

例如:/var/data/solr

用来指定一个solr的索引数据目录,solr创建的索引会存放在data\index目录下,默认dataDir    是相 对于当前core目录(如果solr_home下存在core的话),如果solr_home下不存在core的话,dataDir默认就是相对于solr_home啦,不过一般dataDir都在core.properties下配置

codecFactory

用来设置Lucene倒排索引的编码工厂类,默认实现是官方提供的SchemaCodecFactory类。

indexConfig Section

solrconfig.xml标签中间有很多关于此配置项的说明:

 

       

         

QuerySenderListener用来监听查询发送过程,即你可以在Query请求发送之前追加一些请求参数,如上面给的示例中,可以追加qery关键字以及sort排序规则。

  

searchComponent

用来配置查询组件比如SpellCheckComponent拼写检查.

 

用来返回所有的Term以及每个documentTerm的出现频率

 

用来配置关键字高亮的,Solr高亮配置的详细说明这里暂时先略过,这篇我们只是先暂时大致了解下每个配置项的含义即可,具体如何使用留到后续再深入研究。

 

 \

 

requestHandler

主从同步配置

主节点
    
       startup
       commit
       optimize
       schema.xml
    
   
      1
      1000
      false
   
 
从节点
  
        http://10.28.175.246:8080/solr/waiter
        00:00:20
   

这是我从WIKI上摘抄下来的以前在Adystem Solr分布式中用到的一些配置.

说明: 

  • masterUrl : 主服务器同步URL地址
  • pollInterval:从服务器同步间隔,即每隔多长时间同步一次主服务器
  • httpConnTimeout:设置连接超时(单位:毫秒)
  • httpReadTimeout:如果设置同步索引文件过大,则应适当提高此值。(单位:毫秒)
  • httpBasicAuthUser:验证用户名,需要和主服务器一致
  • httpBasicAuthPassword:验证密码,需和主服务器一致
  • compression:external or internal 使用SOLR自己的压缩算法或应用容器的

 

 

最后总结下:

solrconfig.xml中的配置项主要分以下几大块:

     1.依赖的lucene版本配置,这决定了你创建的Lucene索引结构,因为Lucene各版本之间的索引结构并不是完全兼容的,这个需要引起你的注意。

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

     3.solrconfig.xml中依赖的外部jar包加载路径配置

     4.JMX相关配置

     5.缓存相关配置,缓存包括过滤器缓存,查询结果集缓存,Document缓存,以及自定义缓存等等

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

     7.RequestHandler相关配置,即接收客户端HTTP请求的处理类配置

     8.查询组件配置如HightLightSpellChecker等等

     9.ResponseWriter配置即响应数据转换器相关配置,决定了响应数据是以什么样格式返回给客户端的。

     10.自定义ValueSourceParser配置,用来干预Document的权重、评分,排序

 

转载于:https://my.oschina.net/u/147708/blog/1923930

你可能感兴趣的:(json,操作系统)