solrconfig.xml配置文件

solrconfig.xml文件用于对服务器的系统参数进行配置,下面列出常用的配置参数。

l <dataDir>

用于替换认的索引数据目录(./data)。如果不是绝对路径,将使用servlet容器当前工作目录下的相对路径。

l <mainIndex>

这里指定的参数将影响IndexWriter对索引的管理。表3-11展示了<mainIndex>元素的配置方法

表3-11 <mainIndex>元素的配置

<mainIndex>

<useCompoundFile>false</useCompoundFile>

<mergeFactor>10</mergeFactor>

<maxBufferedDocs>1000</maxBufferedDocs>

<maxMergeDocs>2147483647</maxMergeDocs>

<maxFieldLength>10000</maxFieldLength>

<unlockOnStartup>false</unlockOnStartup>

</mainIndex>

表3-11中<useCompoundFile>子元素指明是否提供索引文件合并功能,如果该元素的值为true,Solr会在索引文件较多时,通过将多个索引文件进行合并来减少索引文件数量。<mergeFactor>指明索引文件合并的频率,例如在表3-11中,最低级的索引文件数量达到10时会合并为1个索引文件,当这样合成索引文件数目达到10个时,又会合并为更高级的索引文件。<maxBufferedDocs>元素指定缓存的文档数目达到多少时会自动建立硬盘索引文件。<maxMergeDocs>指明合并后的索引文件可以容纳的文档的数目,当某个索引文件的数目超过这一值后,将不能再合并。<unlockOnStartup>false</unlockOnStartup>用于指定是否在启动时自动解除索引文件的锁。<maxFieldLength>指明字段所允许的最大长度。

l <updateHandler>

该元素用于对更新处理器进行配置,更新处理器是用于更新索引数据的类。更新处理器的常用配置参数见表3-12。

表3-12 更新处理器的配置

<updateHandler class="solr.DirectUpdateHandler2">

<autoCommit>

<maxDocs>10000</maxDocs>

<maxTime>1000</maxTime>

</autoCommit>

<listener event="postCommit" class="solr.RunExecutableListener">

<str name="exe">snapshooter</str>

<str name="dir">solr/bin</str>

<bool name="wait">true</bool>

<arr name="args"> <str>arg1</str> <str>arg2</str> </arr>

<arr name="env"> <str>MYVAR=val1</str> </arr>

</listener>

</updateHandler>

表3-12中<updateHandler>元素的class属性指明使用哪个类进行索引更新操作。子元素<autoCommit>指明在何时对索引数据进行提交(也就是将内存中的索引写到硬盘),表3-12中指明在内存中缓存的文档数目达到10000或时间达到1000时进行提交。<listener>配置一个“监听器”,这个“监听器”在特定的事件发生时将被触发。

l <query>

该元素是配置一些查询相关参数,以提高查询性能。一些常用的配置参数在表3-13中予以显示。<maxBooleanClauses>元素指明了布尔查询所允许的子句的数目。<queryResultCache>、<documentCache>和<filterCache>是对三种缓存的配置。<queryResultwindowSize>设置查询结果窗口大小,即返回多少个查询结果。<maxWarmingSearchers>指明可以同时“预热”多少个搜索器。关于搜索器是否允许预热的配置是通过对<useColdSearcher>元素的设置来实现的。与更新处理器中一样,查询过程也可以配置一些“监听器”用于特定事件的处理。

表3-13查询参数的配置

<query>

<maxBooleanClauses>1024</maxBooleanClauses>

<filterCache class="solr.LRUCache" size="512" initialSize="512" autowarmCount="256"/>

<queryResultCache class="solr.LRUCache" size="512" initialSize="512" autowarmCount="256"/>

<documentCache class="solr.LRUCache" size="512" initialSize="512" autowarmCount="0"/>

<enableLazyFieldLoading>true</enableLazyFieldLoading>

<queryResultwindowSize>10</queryResultwindowSize>

<HashDocSet maxSize="3000" loadFactor="0.75"/>

<boolTofilterOptimizer enabled="true" cacheSize="32" threshold=".05"/>

<listener event="newSearcher" class="solr.QuerySenderListener">

<arr name="queries">

<lst> <str name="q">solr</str> <str name="start">0</str> <str name="rows">10</str> </lst>

<lst> <str name="q">rocks</str> <str name="start">0</str> <str name="rows">10</str> </lst>

</arr>

</listener>

<useColdSearcher>false</useColdSearcher>

<maxWarmingSearchers>4</maxWarmingSearchers>

</query>

l <requestdispatcher>

这里配置可以被HTTP的requestdispatcher使用的一些参数。

l <requestHandler>

可以定义多个请求处理器,这些处理器可以在查询和索引数据更新的时候使用。

l <queryResponseWriter>

可以定义多个结果处理器,这些结果处理器会以不同的方式返回结果,通常两种返回结果的方式XML和XSLT。


了解更多详情请登录超人学院网站http://www.crxy.cn?sxy或者关注超人学院微信号:CRXY-CN

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念