zoukankan      html  css  js  c++  java
  • solrconfig.xml介绍

    说明:请务必先了解如下知识,否则阅读本文会晕。

     Solr术语介绍:SolrCloud,单机Solr,Collection,Shard,Replica,Core之间的关系

    Solr通过三个主要文件来作配置:solr.xml,solrconfig.xml,shema.xml。在Solr 4.5以前,(SolrCloud的)solr.xml不放在zookeeper上,其他的配置文件都存在zookeeper。Solr 4.5开始,solr.xml也支持放在zookeeper。(见开源问题单SOLR-4718)

    Solr.xml

    Solr首先会试图找到solr.xml,这个文件定义了solr的全局配置,告诉Solr在哪里能找到cores(新版本无需配置可以自动扫描cores),其他配置从各个core里面拿。如果找不到solr.xml,Solr会试图启动单core模式,不过这个模式在Solr5.0中已经被去掉了。在每个Core中,Solr会找conf/solrconfig.xml这个文件,solrconfig文件会指引Solr其他配置文件的位置,比如conf/dih-config.xml是导入数据的配置文件。如果solrconfig.xml中的配置文件的filename没有改,默认会使用conf/schema.xml来加载schema。

     

    solrconfig.xml

    solrconfig.xml包含了大部分solr的配置。(贴什么代码都比不上官网传送门->solr.xml例子)

    lib 指定依赖的插件/jar包等,所有lib dir下的文件都会被(依次)加载到classpath,如下会先加载first目录后加载second目录,如果jar包在启动的时候有依赖关系需要注意加载顺序。

    <lib dir="./lib/first" />
    <lib dir="./lib/second" />

    dataDir 指定索引的存放目录,如果不指定,默认放在$SOLR_HOME/data下。(Cloudera的SOLR_HOME默认在/var/lib/solr,在solr的web页面上有一个-Dsolr.solr.home参数显示了SOLR_HOME。)

    <dataDir>/var/data/solr</dataDir>

     codecFactory 自定义编解码用什么类,solr提供了一个到DocValues的类,这个配置一般不改。(注:DocValues是一种倒排索引的格式。)

    <codecFactory name="CodecFactory" class="solr.SchemaCodecFactory" /> 

    indexConfig 是一个父节点,在它的作用域中定义了index的更低层的动作,本文暂不介绍,请参考solr.xml例子中的注释。

    solrconfig.xml中其他底层配置:

    updateHandler

    query

    caching

    requestDispatcher

    requestHandler

    updateRequestProcessorChain

    highlighting

    admin

    Solr配置除了以上写法还支持如下格式:

    所有的属性都支持SystemProperty替代方式,格式如 ${property[:default value]}

    <dataDir>${solr.data.dir:./solr/data}</dataDir>

    <!--或者-->
    <dataDir>${solr.data.dir}</dataDir>

    第一行指定了默认值为./solr/data,第二行没有默认值,在启动application时指定solr.data.dir:

    java -Dsolr.data.dir=/data/dir -jar start.jar

    若未指定solr.data.dir则使用默认值,若二者均未指定,则抛异常。

    除了在启动时指定SystemProperties之外,还可以将要指定的SystemProperties写在<solr.home>/conf/solrcore.properties里面。

    #solrcore.properties
    data.dir=/data/solrindex

    然后再在solrconfig.xml中使用:

    <dataDir>${data.dir}</dataDir>
     

    如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】。
    如果,您希望更容易地发现我的新博客,不妨点击一下左下角的【关注我】。
    如果,您对我的博客所讲述的内容有兴趣,请继续关注我的后续博客,我是【Arli】。

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    初来乍到
    OpenGl基础篇(1.0)
    说说结构化方法和面向对象方法
    浅谈软件项目管理
    测试篇
    结构化与面向对象化之应用比较
    敏捷软件开发VS传统软件开发
    SOSO街景地图 API (Javascript)开发教程(1)- 街景
    阿里实习内推面经
    Android工程开发笔记<一>
  • 原文地址:https://www.cnblogs.com/arli/p/6131921.html
Copyright © 2011-2022 走看看