You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2011/05/17 20:00:23 UTC
svn commit: r1104440 - in /lucene/dev/branches/branch_3x/lucene: contrib/
contrib/misc/src/java/org/apache/lucene/store/
contrib/misc/src/test/org/apache/lucene/store/
src/java/org/apache/lucene/index/
Author: mikemccand
Date: Tue May 17 18:00:22 2011
New Revision: 1104440
URL: http://svn.apache.org/viewvc?rev=1104440&view=rev
Log:
LUCENE-3092: add NRTCachingDirectory, to cache small segments written when frequently opening NRT readers
Added:
lucene/dev/branches/branch_3x/lucene/contrib/misc/src/java/org/apache/lucene/store/NRTCachingDirectory.java
- copied unchanged from r1104432, lucene/dev/trunk/lucene/contrib/misc/src/java/org/apache/lucene/store/NRTCachingDirectory.java
lucene/dev/branches/branch_3x/lucene/contrib/misc/src/test/org/apache/lucene/store/
- copied from r1104432, lucene/dev/trunk/lucene/contrib/misc/src/test/org/apache/lucene/store/
lucene/dev/branches/branch_3x/lucene/contrib/misc/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java
- copied, changed from r1104432, lucene/dev/trunk/lucene/contrib/misc/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java
Modified:
lucene/dev/branches/branch_3x/lucene/contrib/CHANGES.txt
lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/MergePolicy.java
Modified: lucene/dev/branches/branch_3x/lucene/contrib/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/CHANGES.txt?rev=1104440&r1=1104439&r2=1104440&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/CHANGES.txt (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/CHANGES.txt Tue May 17 18:00:22 2011
@@ -41,6 +41,11 @@ New Features
(but in unspecified order). (Martijn van Groningen via Mike
McCandless)
+ * LUCENE-3092: Added NRTCachingDirectory in contrib/misc, which
+ caches small segments in RAM. This is useful, in the near-real-time
+ case where the indexing rate is lowish but the reopen rate is
+ highish, to take load off the IO system. (Mike McCandless)
+
Optimizations
* LUCENE-3040: Switch all analysis consumers (highlighter, morelikethis, memory, ...)
Copied: lucene/dev/branches/branch_3x/lucene/contrib/misc/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java (from r1104432, lucene/dev/trunk/lucene/contrib/misc/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java)
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/misc/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java?p2=lucene/dev/branches/branch_3x/lucene/contrib/misc/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java&p1=lucene/dev/trunk/lucene/contrib/misc/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java&r1=1104432&r2=1104440&rev=1104440&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/contrib/misc/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/misc/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java Tue May 17 18:00:22 2011
@@ -32,7 +32,6 @@ import org.apache.lucene.index.Term;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.TopDocs;
-import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LineFileDocs;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.Version;
@@ -54,11 +53,11 @@ public class TestNRTCachingDirectory ext
System.out.println("TEST: numDocs=" + numDocs);
}
- final List<BytesRef> ids = new ArrayList<BytesRef>();
+ final List<String> ids = new ArrayList<String>();
IndexReader r = null;
for(int docCount=0;docCount<numDocs;docCount++) {
final Document doc = docs.nextDoc();
- ids.add(new BytesRef(doc.get("docid")));
+ ids.add(new String(doc.get("docid")));
w.addDocument(doc);
if (random.nextInt(20) == 17) {
if (r == null) {
@@ -93,8 +92,8 @@ public class TestNRTCachingDirectory ext
assertEquals(0, cachedFiles.length);
r = IndexReader.open(dir);
- for(BytesRef id : ids) {
- assertEquals(1, r.docFreq("docid", id));
+ for(String id : ids) {
+ assertEquals(1, r.docFreq(new Term("docid", id)));
}
r.close();
cachedDir.close();
Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/MergePolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/MergePolicy.java?rev=1104440&r1=1104439&r2=1104440&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/MergePolicy.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/MergePolicy.java Tue May 17 18:00:22 2011
@@ -72,7 +72,7 @@ public abstract class MergePolicy implem
long mergeGen; // used by IndexWriter
boolean isExternal; // used by IndexWriter
int maxNumSegmentsOptimize; // used by IndexWriter
- long estimatedMergeBytes; // used by IndexWriter
+ public long estimatedMergeBytes; // used by IndexWriter
List<SegmentReader> readers; // used by IndexWriter
List<SegmentReader> readerClones; // used by IndexWriter
public final List<SegmentInfo> segments;