You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2008/11/28 14:16:18 UTC
svn commit: r721470 - in
/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene:
AbstractIndex.java MultiIndex.java SearchIndex.java
Author: mreutegg
Date: Fri Nov 28 05:16:17 2008
New Revision: 721470
URL: http://svn.apache.org/viewvc?rev=721470&view=rev
Log:
JCR-1885: Make termInfosIndexDivisor configurable
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/AbstractIndex.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/MultiIndex.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/AbstractIndex.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/AbstractIndex.java?rev=721470&r1=721469&r2=721470&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/AbstractIndex.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/AbstractIndex.java Fri Nov 28 05:16:17 2008
@@ -92,6 +92,9 @@
/** maxFieldLength config parameter */
private int maxFieldLength = SearchIndex.DEFAULT_MAX_FIELD_LENGTH;
+ /** termInfosIndexDivisor config parameter */
+ private int termInfosIndexDivisor = SearchIndex.DEFAULT_MIN_MERGE_DOCS;
+
/**
* The document number cache if this index may use one.
*/
@@ -245,7 +248,9 @@
indexWriter = null;
}
if (indexReader == null) {
- indexReader = new CommittableIndexReader(IndexReader.open(getDirectory()));
+ IndexReader reader = IndexReader.open(getDirectory());
+ reader.setTermInfosIndexDivisor(termInfosIndexDivisor);
+ indexReader = new CommittableIndexReader(reader);
}
return indexReader;
}
@@ -295,7 +300,9 @@
}
if (sharedReader == null) {
// create new shared reader
- CachingIndexReader cr = new CachingIndexReader(IndexReader.open(getDirectory()), cache);
+ IndexReader reader = IndexReader.open(getDirectory());
+ reader.setTermInfosIndexDivisor(termInfosIndexDivisor);
+ CachingIndexReader cr = new CachingIndexReader(reader, cache);
sharedReader = new SharedIndexReader(cr);
}
readOnlyReader = new ReadOnlyIndexReader(sharedReader, deleted, modCount);
@@ -548,6 +555,22 @@
}
}
+ /**
+ * @return the current value for termInfosIndexDivisor.
+ */
+ public int getTermInfosIndexDivisor() {
+ return termInfosIndexDivisor;
+ }
+
+ /**
+ * Sets a new value for termInfosIndexDivisor.
+ *
+ * @param termInfosIndexDivisor the new value.
+ */
+ public void setTermInfosIndexDivisor(int termInfosIndexDivisor) {
+ this.termInfosIndexDivisor = termInfosIndexDivisor;
+ }
+
//------------------------------< internal >--------------------------------
/**
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/MultiIndex.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/MultiIndex.java?rev=721470&r1=721469&r2=721470&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/MultiIndex.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/MultiIndex.java Fri Nov 28 05:16:17 2008
@@ -269,6 +269,7 @@
index.setMinMergeDocs(handler.getMinMergeDocs());
index.setMaxFieldLength(handler.getMaxFieldLength());
index.setUseCompoundFile(handler.getUseCompoundFile());
+ index.setTermInfosIndexDivisor(handler.getTermInfosIndexDivisor());
indexes.add(index);
merger.indexAdded(index.getName(), index.getNumDocuments());
}
@@ -574,6 +575,7 @@
index.setMinMergeDocs(handler.getMinMergeDocs());
index.setMaxFieldLength(handler.getMaxFieldLength());
index.setUseCompoundFile(handler.getUseCompoundFile());
+ index.setTermInfosIndexDivisor(handler.getTermInfosIndexDivisor());
// add to list of open indexes and return it
indexes.add(index);
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java?rev=721470&r1=721469&r2=721470&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java Fri Nov 28 05:16:17 2008
@@ -159,6 +159,11 @@
public static final long DEFAULT_EXTRACTOR_TIMEOUT = 100;
/**
+ * The default value for {@link #termInfosIndexDivisor}.
+ */
+ public static final int DEFAULT_TERM_INFOS_INDEX_DIVISOR = 1;
+
+ /**
* The path of the root node.
*/
private static final Path ROOT_PATH;
@@ -417,6 +422,11 @@
private DirectoryManager directoryManager;
/**
+ * The termInfosIndexDivisor.
+ */
+ private int termInfosIndexDivisor = DEFAULT_TERM_INFOS_INDEX_DIVISOR;
+
+ /**
* Indicates if this <code>SearchIndex</code> is closed and cannot be used
* anymore.
*/
@@ -1958,6 +1968,22 @@
this.directoryManagerClass = className;
}
+ /**
+ * @return the current value for termInfosIndexDivisor.
+ */
+ public int getTermInfosIndexDivisor() {
+ return termInfosIndexDivisor;
+ }
+
+ /**
+ * Sets a new value for termInfosIndexDivisor.
+ *
+ * @param termInfosIndexDivisor the new value.
+ */
+ public void setTermInfosIndexDivisor(int termInfosIndexDivisor) {
+ this.termInfosIndexDivisor = termInfosIndexDivisor;
+ }
+
//----------------------------< internal >----------------------------------
/**