List of usage examples for org.apache.lucene.index CheckIndex close
@Override
public void close() throws IOException
From source file:com.vmware.dcp.services.common.LuceneDocumentIndexService.java
License:Open Source License
private void upgradeIndex(Directory dir) throws IOException { boolean doUpgrade = false; IndexWriterConfig iwc = new IndexWriterConfig(null); CheckIndex chkIndex = new CheckIndex(dir); try {/*from w w w. java 2 s.c o m*/ for (CheckIndex.Status.SegmentInfoStatus segmentInfo : chkIndex.checkIndex().segmentInfos) { if (!segmentInfo.version.equals(Version.LATEST)) { logInfo("Found Index version %s", segmentInfo.version.toString()); doUpgrade = true; break; } } } finally { chkIndex.close(); } if (doUpgrade) { logInfo("Upgrading index to %s", Version.LATEST.toString()); new IndexUpgrader(dir, iwc, false).upgrade(); this.indexUpdateTimeMicros = Utils.getNowMicrosUtc(); } }
From source file:io.anserini.integration.EndToEndTest.java
License:Apache License
protected void checkIndex() throws IOException { ByteArrayOutputStream bos = new ByteArrayOutputStream(1024); Directory dir = FSDirectory.open(Paths.get(this.indexOutputPrefix + this.collectionClass)); CheckIndex checker = new CheckIndex(dir); checker.setInfoStream(new PrintStream(bos, false, IOUtils.UTF_8)); if (VERBOSE)// w w w .ja v a 2 s. com checker.setInfoStream(System.out); CheckIndex.Status indexStatus = checker.checkIndex(); if (!indexStatus.clean) { System.out.println("CheckIndex failed"); System.out.println(bos.toString(IOUtils.UTF_8)); fail(); } final CheckIndex.Status.SegmentInfoStatus seg = indexStatus.segmentInfos.get(0); assertTrue(seg.openReaderPassed); assertNotNull(seg.diagnostics); assertNotNull(seg.fieldNormStatus); assertNull(seg.fieldNormStatus.error); assertEquals(this.fieldNormStatusTotalFields, seg.fieldNormStatus.totFields); assertNotNull(seg.termIndexStatus); assertNull(seg.termIndexStatus.error); assertEquals(this.termIndexStatusTermCount, seg.termIndexStatus.termCount); assertEquals(this.termIndexStatusTotFreq, seg.termIndexStatus.totFreq); assertEquals(this.termIndexStatusTotPos, seg.termIndexStatus.totPos); assertNotNull(seg.storedFieldStatus); assertNull(seg.storedFieldStatus.error); assertEquals(this.storedFieldStatusTotalDocCounts, seg.storedFieldStatus.docCount); assertEquals(this.storedFieldStatusTotFields, seg.storedFieldStatus.totFields); assertTrue(seg.diagnostics.size() > 0); final List<String> onlySegments = new ArrayList<>(); onlySegments.add("_0"); assertTrue(checker.checkIndex(onlySegments).clean); checker.close(); }