solr-4.7.2目录和配置

来源:互联网 发布:佛山cnc编程招聘 编辑:程序博客网 时间:2024/04/19 05:10

先来看一个目录结构图



1、SolrHome

上一节我们用java -jar start.jar启动solr,

默认的,start.jar用jetty启动solr会用到默认的solr home目录"./solr/",相对于工作目录(这里就是solr-4.7.2\example\目录),

如果我们要运行别的例子,需要在启动jetty时指定别的solr.solr.home环境变量,如:

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. java -Dsolr.solr.home=multicore -jar start.jar  
  2. java -Dsolr.solr.home=example-DIH/solr -jar start.jar  

2、Logging

默认日志会记录在solr-4.7.2\example\logs目录下的solr.log文件中,

如果要调整日志配置,编辑solr-4.7.2\example\resources目录下的log4j.properties配置文件;


3、SolrHome目录结构

SolrHome目录中,基本会包含下列:

3.1. solr.xml

这是solr启动后首先会读配置文件,它指定需要加载的SolrCores,以及会应用到所有SolrCores上的高层配置项(high level configuration options)。

如果没有solr.xml,或者像默认例子中solr.xml文件中没有配置<cores><core></core></cores>,那么solr会假设有一个名为"collection1"的SolrCore,SolrHome目录中也会有一个collection1目录。

3.2. 共享lib目录

虽然solr.xml有一个可选属性sharedLib可以指定任何目录,但通常在SolrHome目录中我们有一个"./lib"子目录来存共享lib。

3.3. ZooKeeper配置文件

当solr使用内置的ZooKeeper时,通常在SolrHome目录中有"zoo.cfg"配置文件和"zoo_data"目录。


4、SolrCores实例目录(SolrCore Instance Directory)

在SolrHome目录的solr.xml中,我们可以配置多个SolrCores,每个SolrCores在SolrHome目录中对应一个目录,称为SolrCores实例目录。

SolrCores实例目录通常包含下列:

4.1. 配置目录"conf/"

这个目录是必须的,而且必须包含solrconfig.xml和schema.xml配置文件,其它可选配置文件也在这个目录。

4.2. 数据目录"data/"

默认是"data/"目录,但是可以在solrconfig.xml的<dataDir></dataDir>配置项中指定,如果没有这个目录solr会自动创建。

这个目录被用来保存solr索引,复制脚本在处理快照(snapshots)时也会用到这个目录。

4.3. 库目录"lib/"(可选)

solr会读这个目录中的Jars,使用它们处理solrconfig.xml或schema.xml配置文件中指定的"plugins"。

另外一个更通常的方案,在solrconfig.xml配置文件中,用类似<lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />的方法来指定Jars。

4.4. 用户自定义属性文件core.properties

可以定义一些用户自定义的属性,如:

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. name=collection2  
  2. my.custom.prop=edismax  
使用如:

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <requestHandler name="/select">  
  2.   <lst name="defaults">  
  3.     <str name="defType">${my.custom.prop}</str>  
  4.   </lst>  
  5. </requestHandler>  


5、solrconfig.xml

solrconfig.xml文件是影响Solr自身的最大部分参数的配置文件。
当配置Solr时,你会经常用到solrconfig.xml。
这个文件包含了一系列的XML语句用来设置配置值。


在solrconfig.xml中,你可以配置一些重要属性,包括:
请求处理器(<requestHandler />);
监听器,用于监听特殊查询相关事件的进程。监听器能用于触发特殊代码执行,例如调用一些已缓存的通用查询(<listener />);
请求分配器,管理HTTP通信(<requestDispatcher />);
管理页面的接口(<admin />);
复制、备份相关参数,在Legacy Scaling and Distribution中有介绍;


例子配置文件注释良好,并且包含大部分安装的最佳实践。
我们将选项分为以下几块:
DataDir和DirectoryFactory(<dataDir /> 和 <directoryFactory />);
Lib目录(<lib />);
管理表定义(<codecFactory /> 和 <schemaFactory />);
索引配置(<indexConfig />);
更新处理(<updateHandler />);
查询设置(<query />);
请求分配器(<requestDispatcher />);
请求处理器和查询组件(<requestDispatcher /> 和 <searchComponent />);


6、schema.xml

schema.xml配置文件定义了Solr如何将数据存入文档和字段中,首先来理解几个概念:

◇document,Solr的基本信息单元,它是用于描述一些东西的数据集合;

◇field,document是由很多field组成的,它是更小的片段信息;

◇field type,它告诉Solr怎样解释并且怎样查询field;

◇field analyzer,告诉Solr在创建索引时如何处理输入数据;


一个典型的结构如下:

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <schema>  
  2.   <fields>  
  3.     <field />  
  4.     <dynamicField />  
  5.   </fields>  
  6.     
  7.   <uniqueKey>  
  8.   </uniqueKey>  
  9.     
  10.   <copyField />  
  11.     
  12.   <types>  
  13.     <analyzer>  
  14.       <tokenizer />  
  15.       <filter />  
  16.     </analyzer>  
  17.   </types>  
  18. </schema>  
当然,还有一些参数也很常用,如<defaultSearchField />,<solrQueryParser />等等。


参考项目中《README.txt》和参考手册《apache-solr-ref-guide-4.7.pdf》


文章转自:http://blog.csdn.net/cq1982/article/details/44673009

0 0
原创粉丝点击