`
suichangkele
  • 浏览: 198110 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何查看solr中cache的使用情况

    博客分类:
  • solr
阅读更多

之前在 这篇博客中 (http://suichangkele.iteye.com/blog/2365868)写到了关于solr所使用的cache的统计信息的获取,但是他只在更新SolrIndexSearcher的时候才会触发,那么如何能随时的查看cache的使用情况呢?倒着推:如果要查找缓存的使用,必须获得SolrCore,获得SolrCore太简单了,任何一个Request都可以获得SorlCore,那么只要添加一个RequestHandler就可以了。我的代码如下:

public class CacheStatisticsRequestHandler extends RequestHandlerBase{

	/**这四个参数分别对应solrconf.xml中的四个缓存的名字*/
	public static final String  filterCache_name = "filterCache";
	public static final String  queryResultCache_name = "queryResultCache";
	public static final String  documentCache_name = "documentCache";
	public static final String  fieldValueCache_name = "fieldValueCache";
	
	private static final Logger logger = LoggerFactory.getLogger(CacheStatisticsRequestHandler.class);
	
	@Override
	public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception {

		logger.debug("参数是:" + req.getParams());
		
		Map<String, SolrInfoMBean> info = req.getCore().getInfoRegistry();
		rsp.add(CacheStatisticsRequestHandler.filterCache_name, info.get(CacheStatisticsRequestHandler.filterCache_name).getStatistics());
		rsp.add(CacheStatisticsRequestHandler.queryResultCache_name, info.get(CacheStatisticsRequestHandler.queryResultCache_name).getStatistics());
		rsp.add(CacheStatisticsRequestHandler.documentCache_name, info.get(CacheStatisticsRequestHandler.documentCache_name).getStatistics());
		rsp.add(CacheStatisticsRequestHandler.fieldValueCache_name, info.get(CacheStatisticsRequestHandler.fieldValueCache_name).getStatistics());
		
	}

	/**这个方法会自动的被调用,不用显示在构造方法中调用*/
	@Override
	public void init(NamedList args) {
		super.init(args);
		logger.info("初始化" + this.getClass().getName() + "实例");
	}
	
	@Override
	public String getDescription() {
		return null;
	}

}

 然后再solrconf.xml中配置一下就可以了

 <requestHandler name="/cacheStats" class="com.comall.requestHandler.CacheStatisticsRequestHandler ">
	<!--自己定义的requestHandler-->
  </requestHandler>

然后在浏览器中访问一下这个requestHandler就可以了 。

 

 

 

分享到:
评论

相关推荐

    solr中cache综述

    ### Solr中Cache综述及优化策略 #### 一、概述 Apache Solr是一个高性能、可伸缩的企业级搜索平台,它基于Lucene构建,在实际应用中为了...此外,还需要注意监控缓存的使用情况,确保它们能够有效地支持系统的运行。

    solr cache部分 中文解释

    它通常用于预加载可能在多个查询中使用的过滤器集合。 5. 预热缓存(QueryResultKeyCache):当新搜索器打开时,用于预热查询结果缓存,确保高流量查询的快速响应。 Solr 还允许自定义缓存配置,包括设置缓存大小...

    Solr(Cloudera)使用手册

    - **使用Solr Admin UI**:每个Solr节点都提供了一个Admin UI页面,可以查看该节点的状态和性能指标。 - **使用SolrCloud API**:通过调用SolrCloud API获取集群的状态信息。 #### 七、使用Solr缓存 Solr支持多种...

    solr教材-PDF版

    - **5.2 线上环境运行报告**:记录Solr在真实生产环境中的运行情况。 #### 六、solr性能调优 - **6.1 Schema Design Considerations** - **6.1.1 indexed fields**:讨论索引字段的选择和设计。 - **6.1.2 ...

    apache-solr7.7

    9. **性能优化**:Solr包含多种性能优化策略,如块级存储(Block Store)、缓存机制(Query Result Cache、Document Cache等)以及并发控制策略,以提高查询速度和系统响应时间。 10. **监控与日志**:Solr提供了...

    solr更换memcached缓存的方法

    为了确保Memcached的性能和稳定性,可以使用第三方工具如`mcmon`或Memcached的管理界面来监控其状态,包括命中率、内存使用情况等。同时,根据Solr的查询负载动态调整Memcached的设置。 6. **多节点部署** 在...

    solr基础知识介绍

    Solr的功能包括分布式索引设计,它允许索引自动分割成多个部分,并且能够在不停止Solr服务器的情况下更改配置。Solr还具备高可用性,没有单点故障,并且集成了Apache Zookeeper进行分布式协调和元数据集群。Solr还能...

    solr搜索引擎支持分页

    在Solr中,分页主要通过`start`和`rows`参数来实现。`start`参数定义了从哪个文档开始返回结果,`rows`参数指定了返回结果的数量。例如,如果你想获取第一页的10条结果,可以设置`start=0`和`rows=10`。第二页则将`...

    solr-4.9.1

    9. **搜索性能优化**:Solr提供多种手段来优化搜索性能,如使用倒排索引、缓存策略、查询过滤器缓存(QueryResultCache)、文档缓存(DocumentCache)等。 总的来说,Solr-4.9.1是一个全面的搜索引擎解决方案,它...

    Solr结合Java所需Jar

    在Java环境中使用Solr,我们需要引入相应的Jar包来支持Java代码与Solr服务器进行交互。下面将详细介绍Solr与Java集成的关键知识点,以及如何管理和使用相关的Jar文件。 1. **SolrJ**:SolrJ是Solr提供的Java客户端...

    高效的企业级搜索引擎Solr

    - **索引统计数据**:监控IndexReader和IndexWriter的活动状态,包括缓存使用情况、索引更新的时间等。 - **搜索统计数据**:记录查询操作、搜索器性能、处理时间等相关信息。 - **存储统计数据**:监控Lucene存储...

    apache solr 源文件 3.6.1

    这些缓存在`Cache`接口和相关实现类中定义。 10. **插件系统**:Solr允许用户自定义查询解析器、过滤器、请求处理器等,源代码中有很多插件实现的例子。 通过研究Apache Solr 3.6.1的源代码,不仅可以深入了解其...

    linux+tomcat+mysql+solr调优

    虽然给定的部分内容中没有提及具体的Solr调优方法,但在实际应用中,Solr的性能优化可以从以下几个方面着手: 1. **索引结构优化**:合理设计索引结构,包括字段类型、分词器的选择等。 2. **查询优化**:使用高效...

    Solr.学习文档

    - **缓存机制**:合理利用缓存可以极大地提高查询速度,如使用 QueryResultCache 和 DocValuesCache 等。 2. **查询优化**: - **过滤器与排序**:使用过滤器而不是查询来限制结果集,这可以显著提高查询效率。 ...

    开源企业搜索引擎SOLR的应用教程

    - **2.2.1 mmseg4j**:mmseg4j是一种基于最大匹配算法的中文分词库,可以在Solr中使用它来提高中文文本的搜索效果。 - **2.2.2 paoding**:paoding是一款高性能的中文分词工具,同样适用于Solr,支持自定义词典和...

    开源企业搜索引擎SOLR的 应用教程

    使用Solr的高亮功能可以在搜索结果中突出显示匹配的关键词。 #### 四、SolrJ的用法 **4.1 搜索接口的调用实例** 示例代码展示如何使用SolrJ API执行搜索操作。 **4.2 Solrj的使用说明** - **4.2.1 ...

    solrconfig.xml和schema.xml说明

    默认情况下,如果没有指定其他路径,则会使用 `d:/Server/Solr/data` 作为存储路径。这对于部署和管理 Solr 实例非常重要,因为它决定了索引数据的物理位置,这对备份和恢复等操作至关重要。 **luceneMatchVersion*...

Global site tag (gtag.js) - Google Analytics