Solr配置之solrconfig.xml。

        solrconfig.xml这个配置文件可以在你下载solr包的安装解压目录的solr\example\solr\collection1\conf中找到,这个配置文件内容有点多,主要内容有:使用的lib配置,包含依赖的jar和Solr的一些插件;组件信息配置;索引配置和查询配置。下面详细说明:

索引indexConfig

        Solr性能因素,来了解与各种更改相关的性能权衡。下表概括了可控制Solr索引处理的各种因素:

属性描述
useCompoundFile通过将很多Lucene内部文件整合到一个文件来减少使用中的文件的数量。这颗可有助于减少Solr使用的文件句柄数目,代价是降低了性能除非是应用程序用完了文件句柄,否则false的默认值应该就已经足够。
maxBufferedDocs在添加或删除文档时,为了减少频繁的更新索引,Solr会选缓存在内存中,当内存中的文件大于设置的值,才会更新到索引库(也就是<maxBufferedDocs>制定缓存的文档数目达到多少时会自动建立有硬盘索引文件)。较大的值可使索引时间变快但会牺牲较多的内存。如两个值同时设置,满足一个就会进行刷新索引。
mergeFactor决定低水平的Lucene段被合并的频率。较小的值(最小为2)使用的内存较少但导致的索引时间也更慢。较大的值可使索引时间变快但会牺牲较多的内存。例如:<mergeFactor>10</mergeFactor>表示,最低级的索引文件数量达到10时会合并为1个索引文件,当这样合成索引文件数目达到10个时,又会合并为更高级的索引文件。
maxIndexingThreadsindexWriter生成索引时使用的最大线程数。
unlockOnStartupunlockOnStartup告知Solr忽略在多线程环境中用来保护索引的锁定机制。在某些情况下,索引可能由于不正确的关机或其他错误而一直处于锁定,这就妨碍了添加和更新。将其设置为true可以禁用启动锁定,进而允许进行添加更新。
lockTypesingle:在只读索引或是没有其他进程修改索引时使用。
native:使用操作系统本地文件锁,不能使用多个Solr在同一个JVM中共享一个索引。
simple:使用一个文本文件锁定索引。

查询配置query

属性描述
maxBooleanClauses最大的BooleanQuery数量,当值超出时,抛出TooManyClausesException注意这个是全局的,如果是多个SolrCore都会使用一个值,每个Core里设置不一样的变化,会使用最后一个的。
filterCachefilterCache存储了无序的lucene document id 集合,存储了filter queries(“fq”参数)得到的document id集合结果,还可用于facet,如果配置了useFilterForSortedQuery,那么如果查询有filter,则使用filterCache
queryResultCache缓存搜索结果,一个文档ID列表。
documentCache缓存Lucene的Document对象,不会自热。
fieldValueCache字段缓存使用文档ID进行快速访问。默认情况下创建fieldValueCache即使这里没有配置。
enableLazyFiledLoading若应用程序预期只会检索Document上少数几个Field,那么可以将属性设置为true。延迟加载的一个常见场景大都发生在应用程序返回和现实一系列搜索结果的时候,用户常常会单击其中的一个来查看存储在此索引中的原始文档。初始的显示常常只需要显示很短的一段信息。若考虑到检索大型Document的代价,除非必要,否则就应该避免加载整个文档。
queryResultWindowSize一次查询中存储最多的doc的id数目。
queryResultMaxDocsCached查询结果doc的最大缓存数量,例如要求每页显示10条,这里设置是20条,也就是说缓存里总会给你多出10条的数据,让你点击下一页时很快拿到数据。
listener选项定义newSearcher和firstSearcher事件,您可以使用这些事件来指定实例化新搜索程序或第一个搜索程序时应该执行哪些查询。如果应用程序期望请求某些特定的查询,那么在创建新搜索程序或第一个搜索程序时就应该反注释这些部分并执行适当的查询。
useColdSearcher是否使用冷搜索,为false时使用“预热”后的searcher
maxWarmmingSearchers最大“预热”searcher数量

<dataDir>

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

更新处理器的配置<updateHandler>

        该元素用于对更新处理器进行配置,更新处理器是用于更新索引数据的类,主要涉及底层的关于如何更新处理内部的信息(不要跟高层次的配置参数Request Handlers对处理发自客户端的更新相混淆)。

常见配置参数:

<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>

参数说明:

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

<requestDispather>

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

<requestHandler>

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

<queryResponseWriter>

         可以定义多个结果处理器,这些结果处理器会以不同的方式返回结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值