海水正蓝

面朝大海,春暖花开
posts - 145, comments - 29, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

【转】Solr 缓存配置

Posted on 2012-12-03 16:54 小胡子 阅读(1532) 评论(0)  编辑  收藏 所属分类: Solr
缓存在 Solr 中充当了一个非常重要的角色,Solr 中主要有这三种缓存:
  • Filter cache(过滤器缓存),用于保存过滤器(fq 参数)和层面搜索的结果
  • Document cache(文档缓存),用于保存 lucene 文档存储的字段
  • Query result(查询缓存),用于保存查询的结果
还有第四种缓存,lucene 内部的缓存,不过该缓存外部无法控制到。

通过这 3 种缓存,可以对 solr 的搜索实例进行调优。调整这些缓存,需要根据索引库中文档的数量,每次查询结果的条数等。
在调整参数前,需要事先得到 solr 示例中的以下信息:
  • 索引中文档的数量
  • 每秒钟搜索的次数
  • 过滤器的数量
  • 一次查询返回最大的文档数量
  • 不同查询和不同排序的个数
这些数量可以在 solr admin 页面的日志模块找到。假设以上的值分别为:

  • 索引中文档的数量:1000000
  • 每秒钟搜索的次数:100
  • 过滤器的数量:200
  • 一次查询返回最大的文档数量:100
  • 不同查询和不同排序的个数:500
然后可以开始修改 solrconfig.xml 中缓存的配置了,第一个是过滤器缓存:

<filterCache class="solr.FastLRUCache" size="200" initialSize="200"  autowarmCount="100"/>
第二个是查询结果缓存:

<queryResultCache class="solr.FastLRUCache" size="500" initialSize="500" autowarmCount="250"/>
第三个是文档缓存:

<documentCache class="solr.FastLRUCache" size="11000" initialSize="11000" />
这几个配置是基于以上的几个假设的值进行调优的。
原文出自:
http://insolr.com/forum.php?mod=viewthread&tid=7&reltid=880&pre_thread_id=19&pre_pos=5&ext=

只有注册用户登录后才能发表评论。


网站导航: