专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

SOLR缓存调优

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 1:05:17       共计:3651 浏览

缓存在 Solr 中充当了一个非常重要的角色,Solr 中主要有这三种缓存:

  • Filter cache(过滤器缓存),用于保存过滤器(fq 参数)和层面搜索的结果
  • Document cache(文档缓存),用于保存 lucene 文档存储的字段
  • Query result(查询缓存),用于保存查询的结果
还有第四种缓存,lucene 内部的缓存,不过该缓存外部无法控制到。 通过这 3 种缓存,可以对 solr 的搜索实例进行调优。调整这些缓存,需要根据索引库中文档的数量,每次查询结果的条数等。 在调整参数前,需要事先得到 solr 示例中的以下信息:
  • 索引中文档的数量
  • 每秒钟搜索的次数
  • 过滤器的数量
  • 一次查询返回最大的文档数量
  • 不同查询和不同排序的个数
这些数量可以在 solr admin 页面的日志模块找到。假设以上的值分别为:
  • 索引中文档的数量:1000000
  • 每秒钟搜索的次数:100
  • 过滤器的数量:200
  • 一次查询返回最大的文档数量:100
  • 不同查询和不同排序的个数:500
然后可以开始修改 solrconfig.xml 中缓存的配置了,第一个是过滤器缓存:
1 <filterCacheclass="solr.FastLRUCache"size="200"initialSize="200"  autowarmCount="100"/>

第二个是查询结果缓存:

1 <queryResultCacheclass="solr.FastLRUCache"size="500"initialSize="500"autowarmCount="250"/>

第三个是文档缓存:

1 <documentCacheclass="solr.FastLRUCache"size="11000"initialSize="11000"/>

这几个配置是基于以上的几个假设的值进行调优的。


如果这个参数设置为 true,不是直接请求的字段将会被延迟加载。这个可以提高性能,在查询只是查小数据量字段时,那些大内容字段将会延迟加载。


1 <enableLazyFieldLoading>true</enableLazyFieldLoading>
版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:redis加入到windows服务中 | ·下一条:解决页面Http请求自动变成了Https请求问题

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有