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/11/07 15:34:40 UTC
svn commit: r1198752 -
/lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentMerger.java
Author: rmuir
Date: Mon Nov 7 14:34:40 2011
New Revision: 1198752
URL: http://svn.apache.org/viewvc?rev=1198752&view=rev
Log:
LUCENE-2621: split this method up
Modified:
lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentMerger.java
Modified: lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentMerger.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentMerger.java?rev=1198752&r1=1198751&r2=1198752&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentMerger.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentMerger.java Mon Nov 7 14:34:40 2011
@@ -127,7 +127,8 @@ final class SegmentMerger {
// of this check impacts how long
// IndexWriter.close(false) takes to actually stop the
// threads.
-
+ mergeFieldInfos();
+ setMatchingSegmentReaders();
final int mergedDocs = mergeFields();
final SegmentWriteState segmentWriteState = new SegmentWriteState(infoStream, directory, segment, fieldInfos, mergedDocs, termIndexInterval, codec, null, context);
mergeTerms(segmentWriteState);
@@ -225,13 +226,7 @@ final class SegmentMerger {
}
}
- /**
- *
- * @return The number of documents in all of the readers
- * @throws CorruptIndexException if the index is corrupt
- * @throws IOException if there is a low-level IO error
- */
- private int mergeFields() throws CorruptIndexException, IOException {
+ private void mergeFieldInfos() throws IOException {
for (MergeState.IndexReaderAndLiveDocs readerAndLiveDocs : readers) {
final IndexReader reader = readerAndLiveDocs.reader;
if (reader instanceof SegmentReader) {
@@ -253,10 +248,17 @@ final class SegmentMerger {
fieldInfos.addOrUpdate(reader.getFieldNames(FieldOption.DOC_VALUES), false);
}
}
+ }
+ /**
+ *
+ * @return The number of documents in all of the readers
+ * @throws CorruptIndexException if the index is corrupt
+ * @throws IOException if there is a low-level IO error
+ */
+ private int mergeFields() throws CorruptIndexException, IOException {
int docCount = 0;
- setMatchingSegmentReaders();
final FieldsWriter fieldsWriter = codec.fieldsFormat().fieldsWriter(directory, segment, context);
try {
int idx = 0;