You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by yo...@apache.org on 2007/07/09 17:45:30 UTC

svn commit: r554688 - in /lucene/solr/trunk: CHANGES.txt example/solr/conf/solrconfig.xml src/java/org/apache/solr/search/SolrIndexSearcher.java

Author: yonik
Date: Mon Jul  9 08:45:30 2007
New Revision: 554688

URL: http://svn.apache.org/viewvc?view=rev&rev=554688
Log:
queryResultMaxDocsCached: SOLR-291

Modified:
    lucene/solr/trunk/CHANGES.txt
    lucene/solr/trunk/example/solr/conf/solrconfig.xml
    lucene/solr/trunk/src/java/org/apache/solr/search/SolrIndexSearcher.java

Modified: lucene/solr/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/CHANGES.txt?view=diff&rev=554688&r1=554687&r2=554688
==============================================================================
--- lucene/solr/trunk/CHANGES.txt (original)
+++ lucene/solr/trunk/CHANGES.txt Mon Jul  9 08:45:30 2007
@@ -95,6 +95,10 @@
 15. SOLR-273: Added hl.maxAnalyzedChars highlighting parameter, defaulting to
     50k (klaas)
 
+16. SOLR-291: Control maximum number of documents to cache for any entry
+    in the queryResultCache via queryResultMaxDocsCached solrconfig.xml 
+    entry. (Koji Sekiguchi via yonik)
+
 Changes in runtime behavior
 
 Optimizations

Modified: lucene/solr/trunk/example/solr/conf/solrconfig.xml
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/example/solr/conf/solrconfig.xml?view=diff&rev=554688&r1=554687&r2=554688
==============================================================================
--- lucene/solr/trunk/example/solr/conf/solrconfig.xml (original)
+++ lucene/solr/trunk/example/solr/conf/solrconfig.xml Mon Jul  9 08:45:30 2007
@@ -180,9 +180,13 @@
          is requested, a superset of the requested number of document ids
          are collected.  For example, if a search for a particular query
          requests matching documents 10 through 19, and queryWindowSize is 50,
-         then documents 0 through 50 will be collected and cached.  Any further
+         then documents 0 through 49 will be collected and cached.  Any further
          requests in that range can be satisfied via the cache.  -->
-    <queryResultWindowSize>10</queryResultWindowSize>
+    <queryResultWindowSize>50</queryResultWindowSize>
+    
+    <!-- Maximum number of documents to cache for any entry in the
+         queryResultCache. -->
+    <queryResultMaxDocsCached>200</queryResultMaxDocsCached>
 
     <!-- This entry enables an int hash representation for filters (DocSets)
          when the number of items in the set is less than maxSize.  For smaller

Modified: lucene/solr/trunk/src/java/org/apache/solr/search/SolrIndexSearcher.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/search/SolrIndexSearcher.java?view=diff&rev=554688&r1=554687&r2=554688
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/search/SolrIndexSearcher.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/search/SolrIndexSearcher.java Mon Jul  9 08:45:30 2007
@@ -259,6 +259,7 @@
 
   private static boolean useFilterForSortedQuery=SolrConfig.config.getBool("query/useFilterForSortedQuery", false);
   private static int queryResultWindowSize=SolrConfig.config.getInt("query/queryResultWindowSize", 1);
+  private static int queryResultMaxDocsCached=SolrConfig.config.getInt("query/queryResultMaxDocsCached", Integer.MAX_VALUE);
 
 
   public Hits search(Query query, Filter filter, Sort sort) throws IOException {
@@ -808,8 +809,9 @@
       out.docList = superset.subset(offset,len);
     }
 
-    // lastly, put the superset in the cache
-    if (key != null) {
+    // lastly, put the superset in the cache if the size is less than or equal
+    // to queryResultMaxDocsCached
+    if (key != null && superset.size() <= queryResultMaxDocsCached) {
       queryResultCache.put(key, superset);
     }
   }