solr更换memcached缓存的方法

1、补丁文件2个,src/java/org/apache/solr/search/DocSet.java,src/java/org/apache/solr/search/QueryResultKey.java。
2、把 solr-memcache 安装使用上。把 apapache-solr-memcache-1.3.0.jar 和依赖的 memcached-2.2.jar、spy-2.4.jar 放到 solr项目的/lib目录下。
3、修改 solr.home/conf/solrconfig.xml 配置告诉 solr 怎么使用 Memcached 实现的 Cache。这次实现的目的主要用在 queryresultCache 上。在 solrconfig.xml 的 query 元素内找到 queryresultCache,把原来的注释掉,改如下的:

<!--   
MemcachedCache params:   
  
memcachedHosts (required), "," split.   
name (optional) no default.   
expTime (optional) default 1800 s (= 30 minute)   
defaultPort (optional) default 11211   
keyPrefix (optional) default ""   
  
-->  
  
<queryResultCache  
    class="solr.MemcachedCache"  
    memcachedHosts="192.168.0.100,192.168.0.101:1234,192.168.0.103"  
    expTime="21600"  
    defaultPort="11511"  
    keyPrefix=""/>

    //再在 query 元素内(就在 queryResultCache 下面不远处可以找到类似的 listener )新增加如下内容:

<listener event="newSearcher" class="solr.MemcachedCache" />  
<listener event="firstSearcher" class="solr.MemcachedCache" />  
  



参考朋友的blog:http://blog.chenlb.com/2009/06/implement-solr-cache-with-memcached.html,表示感谢!!!

你可能感兴趣的:(java,apache,cache,memcached,Solr)