Details
-
Type:
Bug
-
Status: Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 3.0
-
Fix Version/s: 3.0
-
Component/s: .structures
-
Labels:None
Description
junit.framework.AssertionFailedError: Got too big a termid (3867) from direct index input stream, numTerms=2361
at junit.framework.Assert.fail(Assert.java:47)
at junit.framework.Assert.assertTrue(Assert.java:20)
at uk.ac.gla.terrier.tests.ShakespeareEndToEndTest.checkDirectIndex(ShakespeareEndToEndTest.java:219)
at uk.ac.gla.terrier.tests.ShakespeareEndToEndTest.checkIndex(ShakespeareEndToEndTest.java:285)
at uk.ac.gla.terrier.tests.BatchEndToEndTest.doTrecTerrierIndexingRunAndEvaluate(BatchEndToEndTest.java:157)
at uk.ac.gla.terrier.tests.BasicShakespeareEndToEndTest.testBasicClassical(BasicShakespeareEndToEndTest.java:19)
at junit.framework.Assert.fail(Assert.java:47)
at junit.framework.Assert.assertTrue(Assert.java:20)
at uk.ac.gla.terrier.tests.ShakespeareEndToEndTest.checkDirectIndex(ShakespeareEndToEndTest.java:219)
at uk.ac.gla.terrier.tests.ShakespeareEndToEndTest.checkIndex(ShakespeareEndToEndTest.java:285)
at uk.ac.gla.terrier.tests.BatchEndToEndTest.doTrecTerrierIndexingRunAndEvaluate(BatchEndToEndTest.java:157)
at uk.ac.gla.terrier.tests.BasicShakespeareEndToEndTest.testBasicClassical(BasicShakespeareEndToEndTest.java:19)
Problem is that in the inverted merging phase, old-termid -> new-termid mappings are produced for use when the direct index is being merged. However, the new termids may not have the same ordering as the old termids, so postings from the second direct file need to be reordered when being written to the first direct file.