锁定老帖子 主题:Solr1.3的启动过程分析二
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-19
这里讲讲CoreContainer的load(String dir, File
configFile
)方法所做的事情,也就是如何根据主目录下的solr.xml配置文件的数据以及主目录来对每个ScoreCore进行初始设置的,这些工作属于服务器启
动的一部分。 /* Font definitions */html { font-family: 'Tahoma',sans-serif; font-size: 8pt; font-style: normal; font-weight: normal; }body, h4, h5, h6, p, table, td, caption, th, ul, ol, dl, li, dd, dt { font-size: 1em; }pre { font-family: monospace; }h1 { font-size: 1.8em; } h2 { font-size: 1.2em; }h3 { font-size: 1.1em; }/* Margins */h1 { margin-top: 0.3em; margin-bottom: 0.04em } h2 { margin-top: 2em; margin-bottom: 0.25em }h3 { margin-top: 1.7em; margin-bottom: 0.25em }h4 { margin-top: 2em; margin-bottom: 0.3em }h5 { margin-top: 0px; margin-bottom: 0px }p { margin-top: 1em; margin-bottom: 1em }pre { margin-left: 0.6em }ul { margin-top: 0px; margin-bottom: 1em; }li { margin-top: 0px; margin-bottom: 0px; } li p { margin-top: 0px; margin-bottom: 0px; } ol { margin-top: 0px; margin-bottom: 1em; }dl { margin-top: 0px; margin-bottom: 1em; }dt { margin-top: 0px; margin-bottom: 0px; font-weight: bold; }dd { margin-top: 0px; margin-bottom: 0px; }/* Styles and colors */a:link { color: #0000FF; }a:hover { color: #000080; }a:visited { text-decoration: underline; }h4 { font-style: italic; }strong { font-weight: bold; }em { font-style: italic; }var { font-style: italic; }th { font-weight: bold; } Builds a config: Note that the 'name' parameter is used to obtain a valid input stream if no valid one is provided through 'is'. If no valid stream is provided, a valid SolrResourceLoader instance should be provided through 'loader' so the resource can be opened (@see SolrResourceLoader#openResource); if no SolrResourceLoader instance is provided, a default one will be created. Consider passing a non-null 'name' parameter in all use-cases since it is used for logging & exception reporting.
////// persistent = cfg.getBool( "solr/@persistent", false ); ////// 通常上面几个属性的值如下: persistent:false 下面这段代码是看solr.xml配置文件中是否指定了一个lib目录,如果有则加载之。 ////// if (libDir != null) { ////// 下面的代码返回管理处理器 ////// if( adminPath != null ) { 下面的代码读取solr.xml文件中solr节点,如果有多个只返回第一个,其它的都忽略掉。 ////// containerProperties = readProperties(cfg, ((NodeList) cfg.evaluate("solr", XPathConstants.NODESET)).item(0)); 下面的代码获得xpath为solr/cores/core的节点,这里可能有多个节点,因此是一个NodeList类型。 ////// NodeList nodes = (NodeList)cfg.evaluate("solr/cores/core", XPathConstants.NODESET); ////// 下面的代码就是通过一个for循环来处理nodes中的信息,根据这里的信息来建立每个核(对应每个库),例如如果我的solr.xml中有多个core节点,并且主目录下有多个与这些节点对应的库的话,那么这里就是针对每一个库的初始化处理。 具体细节请看Solr1.3的启动过程分析三 敬请关注:http://www.lucas.gd.cn
/ 之Solr板块 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 1857 次