You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2011/10/30 05:21:38 UTC
svn commit: r1195112 - in /lucene/dev/branches/lucene2621/solr/core/src:
java/org/apache/solr/core/ java/org/apache/solr/handler/admin/
java/org/apache/solr/search/ java/org/apache/solr/spelling/
test/org/apache/solr/core/
Author: rmuir
Date: Sun Oct 30 04:21:38 2011
New Revision: 1195112
URL: http://svn.apache.org/viewvc?rev=1195112&view=rev
Log:
LUCENE-3490: always use the configured CodecProvider when opening IndexReaders
Modified:
lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/core/IndexReaderFactory.java
lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/core/SolrCore.java
lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/core/StandardIndexReaderFactory.java
lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/spelling/FileBasedSpellChecker.java
lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/spelling/IndexBasedSpellChecker.java
lucene/dev/branches/lucene2621/solr/core/src/test/org/apache/solr/core/AlternateDirectoryTest.java
Modified: lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/core/IndexReaderFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/core/IndexReaderFactory.java?rev=1195112&r1=1195111&r2=1195112&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/core/IndexReaderFactory.java (original)
+++ lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/core/IndexReaderFactory.java Sun Oct 30 04:21:38 2011
@@ -29,7 +29,6 @@ import org.apache.solr.util.plugin.Named
*/
public abstract class IndexReaderFactory implements NamedListInitializedPlugin {
protected int termInfosIndexDivisor = 1;//IndexReader.DEFAULT_TERMS_INDEX_DIVISOR; Set this once Lucene makes this public.
- protected CodecProvider provider;
/**
* Potentially initializes {@link #termInfosIndexDivisor}. Overriding classes should call super.init() in order
* to make sure termInfosIndexDivisor is set.
@@ -63,13 +62,6 @@ public abstract class IndexReaderFactory
* @return An IndexReader instance
* @throws IOException
*/
- public abstract IndexReader newReader(Directory indexDir, boolean readOnly)
+ public abstract IndexReader newReader(Directory indexDir, boolean readOnly, CodecProvider codecProvider)
throws IOException;
-
- /**
- * Sets the codec provider for this IndexReaderFactory
- */
- public void setCodecProvider(CodecProvider provider) {
- this.provider = provider;
- }
}
Modified: lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/core/SolrCore.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/core/SolrCore.java?rev=1195112&r1=1195111&r2=1195112&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/core/SolrCore.java (original)
+++ lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/core/SolrCore.java Sun Oct 30 04:21:38 2011
@@ -347,7 +347,6 @@ public final class SolrCore implements S
indexReaderFactory = new StandardIndexReaderFactory();
}
this.indexReaderFactory = indexReaderFactory;
- this.indexReaderFactory.setCodecProvider(codecProvider);
}
// protect via synchronized(SolrCore.class)
Modified: lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/core/StandardIndexReaderFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/core/StandardIndexReaderFactory.java?rev=1195112&r1=1195111&r2=1195112&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/core/StandardIndexReaderFactory.java (original)
+++ lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/core/StandardIndexReaderFactory.java Sun Oct 30 04:21:38 2011
@@ -19,6 +19,7 @@ package org.apache.solr.core;
import java.io.IOException;
import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.codecs.CodecProvider;
import org.apache.lucene.store.Directory;
/**
@@ -33,8 +34,8 @@ public class StandardIndexReaderFactory
* @see org.apache.solr.core.IndexReaderFactory#newReader(org.apache.lucene.store.Directory, boolean)
*/
@Override
- public IndexReader newReader(Directory indexDir, boolean readOnly)
+ public IndexReader newReader(Directory indexDir, boolean readOnly, CodecProvider codecProvider)
throws IOException {
- return IndexReader.open(indexDir, null, readOnly, termInfosIndexDivisor, provider);
+ return IndexReader.open(indexDir, null, readOnly, termInfosIndexDivisor, codecProvider);
}
}
Modified: lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java?rev=1195112&r1=1195111&r2=1195112&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java (original)
+++ lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java Sun Oct 30 04:21:38 2011
@@ -213,7 +213,8 @@ public class CoreAdminHandler extends Re
for (int i = 0; i < dirNames.length; i++) {
Directory dir = dirFactory.get(dirNames[i], core.getSolrConfig().mainIndexConfig.lockType);
dirsToBeReleased[i] = dir;
- readersToBeClosed[i] = IndexReader.open(dir, true);
+ // TODO: why doesn't this use the IR factory? what is going on here?
+ readersToBeClosed[i] = IndexReader.open(dir, true, core.getCodecProvider());
}
}
Modified: lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java?rev=1195112&r1=1195111&r2=1195112&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java (original)
+++ lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java Sun Oct 30 04:21:38 2011
@@ -106,7 +106,7 @@ public class SolrIndexSearcher extends I
public SolrIndexSearcher(SolrCore core, String path, IndexSchema schema, SolrIndexConfig config, String name, boolean readOnly, boolean enableCache, DirectoryFactory directoryFactory) throws IOException {
// we don't need to reserve the directory because we get it from the factory
- this(core, schema,name, core.getIndexReaderFactory().newReader(directoryFactory.get(path, config.lockType), readOnly), true, enableCache, false, directoryFactory);
+ this(core, schema,name, core.getIndexReaderFactory().newReader(directoryFactory.get(path, config.lockType), readOnly, core.getCodecProvider()), true, enableCache, false, directoryFactory);
}
public SolrIndexSearcher(SolrCore core, IndexSchema schema, String name, IndexReader r, boolean closeReader, boolean enableCache, boolean reserveDirectory, DirectoryFactory directoryFactory) {
Modified: lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/spelling/FileBasedSpellChecker.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/spelling/FileBasedSpellChecker.java?rev=1195112&r1=1195111&r2=1195112&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/spelling/FileBasedSpellChecker.java (original)
+++ lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/spelling/FileBasedSpellChecker.java Sun Oct 30 04:21:38 2011
@@ -106,7 +106,7 @@ public class FileBasedSpellChecker exten
writer.optimize();
writer.close();
- dictionary = new HighFrequencyDictionary(IndexReader.open(ramDir),
+ dictionary = new HighFrequencyDictionary(IndexReader.open(ramDir, true, core.getCodecProvider()),
WORD_FIELD_NAME, 0.0f);
} else {
// check if character encoding is defined
Modified: lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/spelling/IndexBasedSpellChecker.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/spelling/IndexBasedSpellChecker.java?rev=1195112&r1=1195111&r2=1195112&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/spelling/IndexBasedSpellChecker.java (original)
+++ lucene/dev/branches/lucene2621/solr/core/src/java/org/apache/solr/spelling/IndexBasedSpellChecker.java Sun Oct 30 04:21:38 2011
@@ -17,6 +17,7 @@ package org.apache.solr.spelling;
*/
import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.codecs.CodecProvider;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.search.spell.HighFrequencyDictionary;
@@ -55,15 +56,15 @@ public class IndexBasedSpellChecker exte
super.init(config, core);
threshold = config.get(THRESHOLD_TOKEN_FREQUENCY) == null ? 0.0f
: (Float) config.get(THRESHOLD_TOKEN_FREQUENCY);
- initSourceReader();
+ initSourceReader(core.getCodecProvider());
return name;
}
- private void initSourceReader() {
+ private void initSourceReader(CodecProvider codecProvider) {
if (sourceLocation != null) {
try {
FSDirectory luceneIndexDir = FSDirectory.open(new File(sourceLocation));
- this.reader = IndexReader.open(luceneIndexDir);
+ this.reader = IndexReader.open(luceneIndexDir, true, codecProvider);
} catch (IOException e) {
throw new RuntimeException(e);
}
@@ -108,7 +109,7 @@ public class IndexBasedSpellChecker exte
public void reload(SolrCore core, SolrIndexSearcher searcher) throws IOException {
super.reload(core, searcher);
//reload the source
- initSourceReader();
+ initSourceReader(core.getCodecProvider());
}
public float getThreshold() {
Modified: lucene/dev/branches/lucene2621/solr/core/src/test/org/apache/solr/core/AlternateDirectoryTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/solr/core/src/test/org/apache/solr/core/AlternateDirectoryTest.java?rev=1195112&r1=1195111&r2=1195112&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/solr/core/src/test/org/apache/solr/core/AlternateDirectoryTest.java (original)
+++ lucene/dev/branches/lucene2621/solr/core/src/test/org/apache/solr/core/AlternateDirectoryTest.java Sun Oct 30 04:21:38 2011
@@ -20,6 +20,7 @@ import java.io.File;
import java.io.IOException;
import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.codecs.CodecProvider;
import org.apache.lucene.store.Directory;
import org.apache.solr.SolrTestCaseJ4;
import org.junit.BeforeClass;
@@ -61,10 +62,10 @@ public class AlternateDirectoryTest exte
static volatile boolean newReaderCalled = false;
@Override
- public IndexReader newReader(Directory indexDir, boolean readOnly)
+ public IndexReader newReader(Directory indexDir, boolean readOnly, CodecProvider codecProvider)
throws IOException {
TestIndexReaderFactory.newReaderCalled = true;
- return IndexReader.open(indexDir, readOnly);
+ return IndexReader.open(indexDir, readOnly, codecProvider);
}
}