|
11 | 11 | import org.apache.lucene.document.StringField;
|
12 | 12 | import org.apache.lucene.document.TextField;
|
13 | 13 | import org.apache.lucene.index.DirectoryReader;
|
| 14 | +import org.apache.lucene.index.FieldInfo; |
| 15 | +import org.apache.lucene.index.FieldInfos; |
14 | 16 | import org.apache.lucene.index.IndexCommit;
|
| 17 | +import org.apache.lucene.index.IndexOptions; |
15 | 18 | import org.apache.lucene.index.IndexWriter;
|
16 | 19 | import org.apache.lucene.index.IndexWriterConfig;
|
| 20 | +import org.apache.lucene.index.LeafReader; |
17 | 21 | import org.apache.lucene.index.SegmentInfos;
|
18 | 22 | import org.apache.lucene.index.Term;
|
19 | 23 | import org.apache.lucene.index.Terms;
|
@@ -144,13 +148,46 @@ public void testDirectoryReader() throws Exception {
|
144 | 148 | assertThat(snapshotReader.getVersion(), equalTo(reader.getVersion()));
|
145 | 149 | assertThat(snapshotReader.getIndexCommit().getGeneration(), equalTo(reader.getIndexCommit().getGeneration()));
|
146 | 150 |
|
147 |
| - String field = randomFrom("id", "text"); |
148 |
| - Terms terms = reader.leaves().get(0).reader().terms(field); |
149 |
| - Terms snapshotTerms = snapshotReader.leaves().get(0).reader().terms(field); |
150 |
| - assertThat(snapshotTerms.size(), equalTo(terms.size())); |
151 |
| - assertThat(snapshotTerms.getDocCount(), equalTo(terms.getDocCount())); |
152 |
| - assertThat(snapshotTerms.getMin(), equalTo(terms.getMin())); |
153 |
| - assertThat(snapshotTerms.getMax(), equalTo(terms.getMax())); |
| 151 | + for (int i = 0; i < reader.leaves().size(); i++) { |
| 152 | + LeafReader leafReader = reader.leaves().get(i).reader(); |
| 153 | + LeafReader snapshotLeafReader = snapshotReader.leaves().get(i).reader(); |
| 154 | + assertThat(snapshotLeafReader.numDocs(), equalTo(leafReader.numDocs())); |
| 155 | + assertThat(snapshotLeafReader.numDeletedDocs(), equalTo(leafReader.numDeletedDocs())); |
| 156 | + assertThat(snapshotLeafReader.maxDoc(), equalTo(leafReader.maxDoc())); |
| 157 | + |
| 158 | + FieldInfos fieldInfos = leafReader.getFieldInfos(); |
| 159 | + FieldInfos snapshotFieldInfos = snapshotLeafReader.getFieldInfos(); |
| 160 | + assertThat(snapshotFieldInfos.size(), equalTo(fieldInfos.size())); |
| 161 | + |
| 162 | + for (int j = 0; j < fieldInfos.size(); j++) { |
| 163 | + FieldInfo fieldInfo = fieldInfos.fieldInfo(j); |
| 164 | + FieldInfo snapshotFieldInfo = snapshotFieldInfos.fieldInfo(j); |
| 165 | + |
| 166 | + assertThat(snapshotFieldInfo.name, equalTo(fieldInfo.name)); |
| 167 | + assertThat(snapshotFieldInfo.number, equalTo(fieldInfo.number)); |
| 168 | + |
| 169 | + assertThat(snapshotLeafReader.getDocCount(fieldInfo.name), equalTo(leafReader.getDocCount(fieldInfo.name))); |
| 170 | + assertThat(snapshotLeafReader.getSumDocFreq(fieldInfo.name), equalTo(leafReader.getSumDocFreq(fieldInfo.name))); |
| 171 | + |
| 172 | + assertThat(snapshotFieldInfo.getDocValuesType(), equalTo(fieldInfo.getDocValuesType())); |
| 173 | + assertThat(snapshotFieldInfo.getDocValuesGen(), equalTo(fieldInfo.getDocValuesGen())); |
| 174 | + assertThat(snapshotFieldInfo.getPointDataDimensionCount(), equalTo(fieldInfo.getPointDataDimensionCount())); |
| 175 | + assertThat(snapshotFieldInfo.getPointIndexDimensionCount(), equalTo(fieldInfo.getPointIndexDimensionCount())); |
| 176 | + assertThat(snapshotFieldInfo.getPointNumBytes(), equalTo(fieldInfo.getPointNumBytes())); |
| 177 | + |
| 178 | + if (fieldInfo.getIndexOptions() != IndexOptions.NONE) { |
| 179 | + Terms terms = leafReader.terms(fieldInfo.name); |
| 180 | + Terms snapshotTerms = snapshotLeafReader.terms(fieldInfo.name); |
| 181 | + |
| 182 | + assertThat(snapshotTerms.size(), equalTo(terms.size())); |
| 183 | + assertThat(snapshotTerms.getDocCount(), equalTo(terms.getDocCount())); |
| 184 | + assertThat(snapshotTerms.getMin(), equalTo(terms.getMin())); |
| 185 | + assertThat(snapshotTerms.getMax(), equalTo(terms.getMax())); |
| 186 | + assertThat(snapshotTerms.getSumTotalTermFreq(), equalTo(terms.getSumTotalTermFreq())); |
| 187 | + assertThat(snapshotTerms.getSumDocFreq(), equalTo(terms.getSumDocFreq())); |
| 188 | + } |
| 189 | + } |
| 190 | + } |
154 | 191 | }
|
155 | 192 | }
|
156 | 193 | });
|
|
0 commit comments