MINDEXER-95: Suboptimal indexing execution in updater
Project: http://git-wip-us.apache.org/repos/asf/maven-indexer/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-indexer/commit/c1938882 Tree: http://git-wip-us.apache.org/repos/asf/maven-indexer/tree/c1938882 Diff: http://git-wip-us.apache.org/repos/asf/maven-indexer/diff/c1938882 Branch: refs/heads/maven-indexer-5.x Commit: c193888287ca04a7e6038dddf596b13124769180 Parents: 0f17245 Author: Tamas Cservenak <[email protected]> Authored: Sat Oct 31 01:15:45 2015 +0100 Committer: Tamas Cservenak <[email protected]> Committed: Sat Oct 31 01:15:45 2015 +0100 ---------------------------------------------------------------------- .../maven/index/context/NexusIndexWriter.java | 25 +++++++++++++------- .../maven/index/updater/IndexDataReader.java | 8 +++---- 2 files changed, 19 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-indexer/blob/c1938882/indexer-core/src/main/java/org/apache/maven/index/context/NexusIndexWriter.java ---------------------------------------------------------------------- diff --git a/indexer-core/src/main/java/org/apache/maven/index/context/NexusIndexWriter.java b/indexer-core/src/main/java/org/apache/maven/index/context/NexusIndexWriter.java index bceb3c1..790c150 100644 --- a/indexer-core/src/main/java/org/apache/maven/index/context/NexusIndexWriter.java +++ b/indexer-core/src/main/java/org/apache/maven/index/context/NexusIndexWriter.java @@ -25,6 +25,7 @@ import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.index.CorruptIndexException; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.index.IndexWriterConfig; +import org.apache.lucene.index.IndexWriterConfig.OpenMode; import org.apache.lucene.index.SerialMergeScheduler; import org.apache.lucene.store.Directory; import org.apache.lucene.store.LockObtainFailedException; @@ -38,13 +39,23 @@ import org.apache.lucene.util.Version; public class NexusIndexWriter extends IndexWriter { - @Deprecated + public interface IndexWriterConfigFactory { + IndexWriterConfig create(Analyzer analyzer); + } + + public static IndexWriterConfigFactory CONFIG_FACTORY = new IndexWriterConfigFactory() { + public IndexWriterConfig create(final Analyzer analyzer) { + IndexWriterConfig config = new IndexWriterConfig( Version.LUCENE_36, analyzer ); + config.setRAMBufferSizeMB( 2.0 ); // old default + config.setMergeScheduler( new SerialMergeScheduler() ); // merging serially + return config; + } + }; + public NexusIndexWriter( final Directory directory, final Analyzer analyzer, boolean create ) throws CorruptIndexException, LockObtainFailedException, IOException { - super( directory, analyzer, create, MaxFieldLength.LIMITED ); - - // setSimilarity( new NexusSimilarity() ); + super(directory, CONFIG_FACTORY.create(analyzer).setOpenMode(create ? OpenMode.CREATE : OpenMode.APPEND)); } public NexusIndexWriter( final Directory directory, final IndexWriterConfig config ) @@ -57,10 +68,6 @@ public class NexusIndexWriter public static IndexWriterConfig defaultConfig() { - final IndexWriterConfig config = new IndexWriterConfig( Version.LUCENE_36, new NexusAnalyzer() ); - // default open mode is CreateOrAppend which suits us - config.setRAMBufferSizeMB( 2.0 ); // old default - config.setMergeScheduler( new SerialMergeScheduler() ); // merging serially - return config; + return CONFIG_FACTORY.create(new NexusAnalyzer()); } } http://git-wip-us.apache.org/repos/asf/maven-indexer/blob/c1938882/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java ---------------------------------------------------------------------- diff --git a/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java b/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java index 87f2153..70eaa84 100644 --- a/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java +++ b/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java @@ -46,11 +46,10 @@ public class IndexDataReader { private final DataInputStream dis; - public IndexDataReader( InputStream is ) + public IndexDataReader( final InputStream is ) throws IOException { - BufferedInputStream bis = new BufferedInputStream( is, 1024 * 8 ); - + BufferedInputStream bis = new BufferedInputStream(is, 1024 * 8); // MINDEXER-13 // LightweightHttpWagon may have performed automatic decompression // Handle it transparently @@ -59,7 +58,7 @@ public class IndexDataReader if ( bis.read() == 0x1f && bis.read() == 0x8b ) // GZIPInputStream.GZIP_MAGIC { bis.reset(); - data = new GZIPInputStream( bis, 2 * 1024 ); + data = new GZIPInputStream( bis, 1024 * 8 ); } else { @@ -95,7 +94,6 @@ public class IndexDataReader } w.commit(); - w.optimize(); IndexDataReadResult result = new IndexDataReadResult(); result.setDocumentCount( n );
