From d578775e8f43cc3ef7e82ef98dfa19bc1612d739 Mon Sep 17 00:00:00 2001 From: Michael McCandless Date: Sat, 12 Jan 2013 16:31:28 +0000 Subject: [PATCH] LUCENE-4677: use vInt not int to encode arc's target address in un-packed FSTs git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1432466 13f79535-47bb-0310-9956-ffa450edef68 --- lucene/CHANGES.txt | 3 + .../java/org/apache/lucene/util/fst/FST.java | 53 ++++++++++++++---- .../index/TestBackwardsCompatibility.java | 50 +++++++++++++++-- .../org/apache/lucene/index/moreterms.40.zip | Bin 0 -> 78661 bytes .../org/apache/lucene/util/fst/FSTTester.java | 7 +++ 5 files changed, 98 insertions(+), 15 deletions(-) create mode 100644 lucene/core/src/test/org/apache/lucene/index/moreterms.40.zip diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt index bc98e3c13d4..7264c4ecf0e 100644 --- a/lucene/CHANGES.txt +++ b/lucene/CHANGES.txt @@ -19,6 +19,9 @@ Changes in backwards compatibility policy (Nikola Tanković, Uwe Schindler, Chris Male, Mike McCandless, Robert Muir) +* LUCENE-4677: unpacked FSTs now use vInt to encode the node target, + to reduce their size (Mike McCandless) + * LUCENE-4678: FST now uses a paged byte[] structure instead of a single byte[] internally, to avoid large memory spikes during building (James Dyer, Mike McCandless) diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/FST.java b/lucene/core/src/java/org/apache/lucene/util/fst/FST.java index c1933bbd8b2..58ec0cf67da 100644 --- a/lucene/core/src/java/org/apache/lucene/util/fst/FST.java +++ b/lucene/core/src/java/org/apache/lucene/util/fst/FST.java @@ -27,6 +27,11 @@ import java.io.InputStream; import java.io.OutputStream; import java.util.HashMap; import java.util.Map; +/* +import java.io.Writer; +import java.io.OutputStreamWriter; +import java.io.FileOutputStream; +*/ import org.apache.lucene.codecs.CodecUtil; import org.apache.lucene.store.DataInput; @@ -124,7 +129,10 @@ public final class FST { /** Added optional packed format. */ private final static int VERSION_PACKED = 3; - private final static int VERSION_CURRENT = VERSION_PACKED; + /** Changed from int to vInt for encoding arc targets. */ + private final static int VERSION_VINT_TARGET = 4; + + private final static int VERSION_CURRENT = VERSION_VINT_TARGET; // Never serialized; just used to represent the virtual // final node w/ no arcs: @@ -259,12 +267,15 @@ public final class FST { // clear early on: private GrowableWriter inCounts; + private final int version; + // make a new empty FST, for building; Builder invokes // this ctor FST(INPUT_TYPE inputType, Outputs outputs, boolean willPackFST, float acceptableOverheadRatio, boolean allowArrayArcs) { this.inputType = inputType; this.outputs = outputs; this.allowArrayArcs = allowArrayArcs; + version = VERSION_CURRENT; // 32 KB blocks: bytes = new BytesStore(15); // pad: ensure no node gets address 0 which is reserved to mean @@ -289,7 +300,7 @@ public final class FST { this.outputs = outputs; // NOTE: only reads most recent format; we don't have // back-compat promise for FSTs (they are experimental): - CodecUtil.checkHeader(in, FILE_FORMAT_NAME, VERSION_PACKED, VERSION_PACKED); + version = CodecUtil.checkHeader(in, FILE_FORMAT_NAME, VERSION_PACKED, VERSION_VINT_TARGET); packed = in.readByte() == 1; if (in.readByte() == 1) { // accepts empty string @@ -350,6 +361,15 @@ public final class FST { // building; we need to break out mutable FST from // immutable allowArrayArcs = false; + + /* + if (bytes.length == 665) { + Writer w = new OutputStreamWriter(new FileOutputStream("out.dot"), "UTF-8"); + Util.toDot(this, w, false, false); + w.close(); + System.out.println("Wrote FST to out.dot"); + } + */ } public INPUT_TYPE getInputType() { @@ -661,7 +681,7 @@ public final class FST { if (targetHasArcs && (flags & BIT_TARGET_NEXT) == 0) { assert target.node > 0; //System.out.println(" write target"); - bytes.writeInt(target.node); + bytes.writeVInt(target.node); } // just write the arcs "like normal" on first pass, @@ -800,12 +820,10 @@ public final class FST { } if (arc.flag(BIT_STOP_NODE)) { } else if (arc.flag(BIT_TARGET_NEXT)) { + } else if (packed) { + in.readVInt(); } else { - if (packed) { - in.readVInt(); - } else { - in.skipBytes(4); - } + readUnpackedNodeTarget(in); } arc.flags = in.readByte(); } @@ -819,6 +837,16 @@ public final class FST { } } + private int readUnpackedNodeTarget(BytesReader in) throws IOException { + int target; + if (version < VERSION_VINT_TARGET) { + target = in.readInt(); + } else { + target = in.readVInt(); + } + return target; + } + /** * Follow the follow arc and read the first arc of its target; * this changes the provided arc (2nd arg) in-place and returns @@ -920,8 +948,10 @@ public final class FST { final byte b = in.readByte(); if (b == ARCS_AS_FIXED_ARRAY) { - //System.out.println(" nextArc fake array"); + //System.out.println(" nextArc fixed array"); in.readVInt(); + + // Skip bytesPerArc: if (packed) { in.readVInt(); } else { @@ -1024,7 +1054,7 @@ public final class FST { //System.out.println(" abs code=" + code); } } else { - arc.target = in.readInt(); + arc.target = readUnpackedNodeTarget(in); } arc.nextArc = in.getPosition(); } @@ -1147,7 +1177,7 @@ public final class FST { if (packed) { in.readVInt(); } else { - in.readInt(); + readUnpackedNodeTarget(in); } } @@ -1354,6 +1384,7 @@ public final class FST { // Creates a packed FST private FST(INPUT_TYPE inputType, Outputs outputs) { + version = VERSION_CURRENT; packed = true; this.inputType = inputType; // 32 KB blocks: diff --git a/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java b/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java index d07c77359fa..87727db3d76 100644 --- a/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java +++ b/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java @@ -58,7 +58,6 @@ import org.apache.lucene.search.ScoreDoc; import org.apache.lucene.search.TermQuery; import org.apache.lucene.store.BaseDirectoryWrapper; import org.apache.lucene.store.Directory; -import org.apache.lucene.store.MockDirectoryWrapper; import org.apache.lucene.store.RAMDirectory; import org.apache.lucene.util.Bits; import org.apache.lucene.util.BytesRef; @@ -100,7 +99,7 @@ public class TestBackwardsCompatibility extends LuceneTestCase { createIndex("index.nocfs", false, false); } */ - + /* // These are only needed for the special upgrade test to verify // that also single-segment indexes are correctly upgraded by IndexUpgrader. @@ -116,8 +115,40 @@ public class TestBackwardsCompatibility extends LuceneTestCase { } */ + + /* + public void testCreateMoreTermsIndex() throws Exception { + // we use a real directory name that is not cleaned up, + // because this method is only used to create backwards + // indexes: + File indexDir = new File("moreterms"); + _TestUtil.rmDir(indexDir); + Directory dir = newFSDirectory(indexDir); + + LogByteSizeMergePolicy mp = new LogByteSizeMergePolicy(); + mp.setUseCompoundFile(false); + mp.setNoCFSRatio(1.0); + mp.setMaxCFSSegmentSizeMB(Double.POSITIVE_INFINITY); + // TODO: remove randomness + IndexWriterConfig conf = new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random())) + .setMergePolicy(mp); + conf.setCodec(Codec.forName("Lucene40")); + IndexWriter writer = new IndexWriter(dir, conf); + LineFileDocs docs = new LineFileDocs(null, true); + for(int i=0;i<50;i++) { + writer.addDocument(docs.nextDoc()); + } + writer.close(); + dir.close(); + + // Gives you time to copy the index out!: (there is also + // a test option to not remove temp dir...): + Thread.sleep(100000); + } + */ + final static String[] oldNames = {"40.cfs", - "40.nocfs", + "40.nocfs", }; final String[] unsupportedNames = {"19.cfs", @@ -145,7 +176,7 @@ public class TestBackwardsCompatibility extends LuceneTestCase { }; final static String[] oldSingleSegmentNames = {"40.optimized.cfs", - "40.optimized.nocfs", + "40.optimized.nocfs", }; static Map oldIndexDirs; @@ -908,4 +939,15 @@ public class TestBackwardsCompatibility extends LuceneTestCase { dir.close(); } } + + public static final String moreTermsIndex = "moreterms.40.zip"; + + public void testMoreTerms() throws Exception { + File oldIndexDir = _TestUtil.getTempDir("moreterms"); + _TestUtil.unzip(getDataFile(moreTermsIndex), oldIndexDir); + Directory dir = newFSDirectory(oldIndexDir); + // TODO: more tests + _TestUtil.checkIndex(dir); + dir.close(); + } } diff --git a/lucene/core/src/test/org/apache/lucene/index/moreterms.40.zip b/lucene/core/src/test/org/apache/lucene/index/moreterms.40.zip new file mode 100644 index 0000000000000000000000000000000000000000..53ad7ce31e989ca26be61305c0b8e4c4c2574bbb GIT binary patch literal 78661 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 QA!(u`A#FVV4hiXh0L|uWO#lD@ literal 0 HcmV?d00001 diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/fst/FSTTester.java b/lucene/test-framework/src/java/org/apache/lucene/util/fst/FSTTester.java index 2ff3ee4491c..4bf3a379016 100644 --- a/lucene/test-framework/src/java/org/apache/lucene/util/fst/FSTTester.java +++ b/lucene/test-framework/src/java/org/apache/lucene/util/fst/FSTTester.java @@ -289,6 +289,13 @@ public class FSTTester { null, willRewrite, true); + if (LuceneTestCase.VERBOSE) { + if (willRewrite) { + System.out.println("TEST: packed FST"); + } else { + System.out.println("TEST: non-packed FST"); + } + } for(InputOutput pair : pairs) { if (pair.output instanceof List) {