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 2012/01/17 05:00:30 UTC
svn commit: r1232289 - in /lucene/dev/branches/branch_3x: lucene/contrib/
lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/
lucene/contrib/spellchecker/src/test/org/apache/lucene/search/suggest/
lucene/contrib/spellchecker/src/...
Author: rmuir
Date: Tue Jan 17 04:00:29 2012
New Revision: 1232289
URL: http://svn.apache.org/viewvc?rev=1232289&view=rev
Log:
SOLR-2888: FSTSuggester refactoring: internal storage is now UTF-8, external sorting (on disk) prevents OOMs even with large data sets (the bottleneck is now FST construction), code cleanups and API cleanups.
Added:
lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/BytesRefSorter.java
- copied unchanged from r1232264, lucene/dev/trunk/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/BytesRefSorter.java
lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/ExternalRefSorter.java
- copied, changed from r1232264, lucene/dev/trunk/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/ExternalRefSorter.java
lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/FSTCompletion.java
- copied unchanged from r1232264, lucene/dev/trunk/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletion.java
lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionBuilder.java
- copied, changed from r1232264, lucene/dev/trunk/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionBuilder.java
lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionLookup.java
- copied unchanged from r1232264, lucene/dev/trunk/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionLookup.java
lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/FloatMagic.java
- copied unchanged from r1232264, lucene/dev/trunk/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/FloatMagic.java
lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/InMemorySorter.java
- copied, changed from r1232264, lucene/dev/trunk/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/InMemorySorter.java
lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/Sort.java
- copied, changed from r1232264, lucene/dev/trunk/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/Sort.java
lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/test/org/apache/lucene/search/suggest/fst/BytesRefSortersTest.java
- copied unchanged from r1232264, lucene/dev/trunk/modules/suggest/src/test/org/apache/lucene/search/suggest/fst/BytesRefSortersTest.java
lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/test/org/apache/lucene/search/suggest/fst/FSTCompletionTest.java
- copied unchanged from r1232264, lucene/dev/trunk/modules/suggest/src/test/org/apache/lucene/search/suggest/fst/FSTCompletionTest.java
lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/test/org/apache/lucene/search/suggest/fst/FloatMagicTest.java
- copied unchanged from r1232264, lucene/dev/trunk/modules/suggest/src/test/org/apache/lucene/search/suggest/fst/FloatMagicTest.java
lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/test/org/apache/lucene/search/suggest/fst/LargeInputFST.java
- copied unchanged from r1232264, lucene/dev/trunk/modules/suggest/src/test/org/apache/lucene/search/suggest/fst/LargeInputFST.java
lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/test/org/apache/lucene/search/suggest/fst/TestSort.java
- copied unchanged from r1232264, lucene/dev/trunk/modules/suggest/src/test/org/apache/lucene/search/suggest/fst/TestSort.java
Modified:
lucene/dev/branches/branch_3x/lucene/contrib/CHANGES.txt
lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/FSTLookup.java
lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/test/org/apache/lucene/search/suggest/LookupBenchmarkTest.java
lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/test/org/apache/lucene/search/suggest/PersistenceTest.java
lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/test/org/apache/lucene/search/suggest/fst/FSTLookupTest.java
lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/util/fst/FST.java
lucene/dev/branches/branch_3x/solr/CHANGES.txt
lucene/dev/branches/branch_3x/solr/core/src/java/org/apache/solr/spelling/suggest/fst/FSTLookupFactory.java
Modified: lucene/dev/branches/branch_3x/lucene/contrib/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/CHANGES.txt?rev=1232289&r1=1232288&r2=1232289&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/CHANGES.txt (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/CHANGES.txt Tue Jan 17 04:00:29 2012
@@ -59,6 +59,14 @@ Changes in runtime behavior
* LUCENE-3626: PKIndexSplitter and MultiPassIndexSplitter now work
per segment. (Uwe Schindler)
+Optimizations
+
+* SOLR-2888: FSTSuggester refactoring: internal storage is now UTF-8,
+ external sorting (on disk) prevents OOMs even with large data sets
+ (the bottleneck is now FST construction), code cleanups and API cleanups.
+ You should use FSTCompletionLookup (the old FSTLookup impl is deprecated).
+ (Dawid Weiss, Robert Muir)
+
Bug Fixes
* LUCENE-3600: BlockJoinQuery now supports parent docs that have no
Copied: lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/ExternalRefSorter.java (from r1232264, lucene/dev/trunk/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/ExternalRefSorter.java)
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/ExternalRefSorter.java?p2=lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/ExternalRefSorter.java&p1=lucene/dev/trunk/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/ExternalRefSorter.java&r1=1232264&r2=1232289&rev=1232289&view=diff
==============================================================================
--- lucene/dev/trunk/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/ExternalRefSorter.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/ExternalRefSorter.java Tue Jan 17 04:00:29 2012
@@ -25,14 +25,12 @@ public class ExternalRefSorter implement
this.writer = new Sort.ByteSequencesWriter(input);
}
- @Override
public void add(BytesRef utf8) throws IOException {
if (writer == null)
throw new IllegalStateException();
writer.write(utf8);
}
- @Override
public Iterator<BytesRef> iterator() throws IOException {
if (sorted == null) {
closeWriter();
@@ -57,7 +55,6 @@ public class ExternalRefSorter implement
/**
* Removes any written temporary files.
*/
- @Override
public void close() throws IOException {
try {
closeWriter();
@@ -79,12 +76,10 @@ public class ExternalRefSorter implement
this.next = reader.read();
}
- @Override
public boolean hasNext() {
return next != null;
}
- @Override
public BytesRef next() {
if (next == null) throw new NoSuchElementException();
BytesRef r = new BytesRef(next);
@@ -99,7 +94,6 @@ public class ExternalRefSorter implement
return r;
}
- @Override
public void remove() { throw new UnsupportedOperationException(); }
}
}
Copied: lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionBuilder.java (from r1232264, lucene/dev/trunk/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionBuilder.java)
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionBuilder.java?p2=lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionBuilder.java&p1=lucene/dev/trunk/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionBuilder.java&r1=1232264&r2=1232289&rev=1232289&view=diff
==============================================================================
--- lucene/dev/trunk/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionBuilder.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionBuilder.java Tue Jan 17 04:00:29 2012
@@ -217,7 +217,7 @@ public class FSTCompletionBuilder {
final Object empty = outputs.getNoOutput();
final Builder<Object> builder = new Builder<Object>(
FST.INPUT_TYPE.BYTE1, 0, 0, true, true,
- shareMaxTailLength, outputs, null);
+ shareMaxTailLength, outputs);
BytesRef scratch = new BytesRef();
final IntsRef scratchIntsRef = new IntsRef();
Modified: lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/FSTLookup.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/FSTLookup.java?rev=1232289&r1=1232288&r2=1232289&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/FSTLookup.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/FSTLookup.java Tue Jan 17 04:00:29 2012
@@ -90,7 +90,9 @@ import org.apache.lucene.store.OutputStr
*
* <p>"alphabetically" in any of the documentation above indicates utf16 codepoint order,
* nothing else.
+ * @deprecated Use {@link FSTCompletionLookup} instead.
*/
+@Deprecated
public class FSTLookup extends Lookup {
public FSTLookup() {
Copied: lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/InMemorySorter.java (from r1232264, lucene/dev/trunk/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/InMemorySorter.java)
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/InMemorySorter.java?p2=lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/InMemorySorter.java&p1=lucene/dev/trunk/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/InMemorySorter.java&r1=1232264&r2=1232289&rev=1232289&view=diff
==============================================================================
--- lucene/dev/trunk/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/InMemorySorter.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/InMemorySorter.java Tue Jan 17 04:00:29 2012
@@ -13,13 +13,11 @@ public final class InMemorySorter implem
private boolean closed = false;
- @Override
public void add(BytesRef utf8) {
if (closed) throw new IllegalStateException();
refs.add(BytesRef.deepCopyOf(utf8));
}
- @Override
public Iterator<BytesRef> iterator() {
closed = true;
Collections.sort(refs, BytesRef.getUTF8SortedAsUnicodeComparator());
Copied: lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/Sort.java (from r1232264, lucene/dev/trunk/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/Sort.java)
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/Sort.java?p2=lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/Sort.java&p1=lucene/dev/trunk/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/Sort.java&r1=1232264&r2=1232289&rev=1232289&view=diff
==============================================================================
--- lucene/dev/trunk/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/Sort.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/java/org/apache/lucene/search/suggest/fst/Sort.java Tue Jan 17 04:00:29 2012
@@ -275,8 +275,11 @@ public final class Sort {
long start = System.currentTimeMillis();
ByteSequencesWriter out = new ByteSequencesWriter(outputFile);
-
- PriorityQueue<FileAndTop> queue = new PriorityQueue<FileAndTop>(merges.size()) {
+ final int size = merges.size();
+ PriorityQueue<FileAndTop> queue = new PriorityQueue<FileAndTop>() {
+ {
+ initialize(size);
+ }
protected boolean lessThan(FileAndTop a, FileAndTop b) {
return a.current.compareTo(b.current) < 0;
}
@@ -333,9 +336,9 @@ public final class Sort {
int linesRead = 0;
while ((line = reader.read()) != null) {
if (linesRead + 1 >= data.length) {
- data = Arrays.copyOf(data,
- ArrayUtil.oversize(linesRead + MIN_EXPECTED_GROWTH,
- RamUsageEstimator.NUM_BYTES_OBJECT_REF));
+ byte[][] newData = new byte[ArrayUtil.oversize(linesRead + MIN_EXPECTED_GROWTH, RamUsageEstimator.NUM_BYTES_OBJECT_REF)][];
+ System.arraycopy(data, 0, newData, 0, data.length);
+ data = newData;
}
data[linesRead++] = line;
@@ -399,7 +402,6 @@ public final class Sort {
/**
* Closes the provided {@link DataOutput} if it is {@link Closeable}.
*/
- @Override
public void close() throws IOException {
if (os instanceof Closeable) {
((Closeable) os).close();
@@ -473,7 +475,6 @@ public final class Sort {
/**
* Closes the provided {@link DataInput} if it is {@link Closeable}.
*/
- @Override
public void close() throws IOException {
if (is instanceof Closeable) {
((Closeable) is).close();
Modified: lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/test/org/apache/lucene/search/suggest/LookupBenchmarkTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/test/org/apache/lucene/search/suggest/LookupBenchmarkTest.java?rev=1232289&r1=1232288&r2=1232289&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/test/org/apache/lucene/search/suggest/LookupBenchmarkTest.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/test/org/apache/lucene/search/suggest/LookupBenchmarkTest.java Tue Jan 17 04:00:29 2012
@@ -32,6 +32,7 @@ import java.util.concurrent.Callable;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.RamUsageEstimator;
import org.apache.lucene.search.suggest.Lookup;
+import org.apache.lucene.search.suggest.fst.FSTCompletionLookup;
import org.apache.lucene.search.suggest.fst.FSTLookup;
import org.apache.lucene.search.suggest.jaspell.JaspellLookup;
import org.apache.lucene.search.suggest.tst.TSTLookup;
@@ -48,7 +49,7 @@ public class LookupBenchmarkTest extends
private final List<Class<? extends Lookup>> benchmarkClasses = Arrays.asList(
JaspellLookup.class,
TSTLookup.class,
- FSTLookup.class);
+ FSTCompletionLookup.class);
private final static int rounds = 15;
private final static int warmup = 5;
Modified: lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/test/org/apache/lucene/search/suggest/PersistenceTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/test/org/apache/lucene/search/suggest/PersistenceTest.java?rev=1232289&r1=1232288&r2=1232289&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/test/org/apache/lucene/search/suggest/PersistenceTest.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/test/org/apache/lucene/search/suggest/PersistenceTest.java Tue Jan 17 04:00:29 2012
@@ -19,6 +19,7 @@ package org.apache.lucene.search.suggest
import java.io.File;
import org.apache.lucene.search.suggest.Lookup;
+import org.apache.lucene.search.suggest.fst.FSTCompletionLookup;
import org.apache.lucene.search.suggest.fst.FSTLookup;
import org.apache.lucene.search.suggest.jaspell.JaspellLookup;
import org.apache.lucene.search.suggest.tst.TSTLookup;
@@ -51,7 +52,7 @@ public class PersistenceTest extends Luc
}
public void testFSTPersistence() throws Exception {
- runTest(FSTLookup.class, false);
+ runTest(FSTCompletionLookup.class, false);
}
private void runTest(Class<? extends Lookup> lookupClass,
Modified: lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/test/org/apache/lucene/search/suggest/fst/FSTLookupTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/test/org/apache/lucene/search/suggest/fst/FSTLookupTest.java?rev=1232289&r1=1232288&r2=1232289&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/test/org/apache/lucene/search/suggest/fst/FSTLookupTest.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src/test/org/apache/lucene/search/suggest/fst/FSTLookupTest.java Tue Jan 17 04:00:29 2012
@@ -33,7 +33,9 @@ import org.apache.lucene.search.suggest.
/**
* Unit tests for {@link FSTLookup}.
+ * @deprecated Just to test the old API works
*/
+@Deprecated
public class FSTLookupTest extends LuceneTestCase {
public static TermFreq tf(String t, float v) {
return new TermFreq(t, v);
Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/util/fst/FST.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/util/fst/FST.java?rev=1232289&r1=1232288&r2=1232289&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/util/fst/FST.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/util/fst/FST.java Tue Jan 17 04:00:29 2012
@@ -17,14 +17,18 @@ package org.apache.lucene.util.fst;
* limitations under the License.
*/
+import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
+import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.InputStream;
import java.io.OutputStream;
import org.apache.lucene.store.DataInput;
import org.apache.lucene.store.DataOutput;
+import org.apache.lucene.store.InputStreamDataInput;
import org.apache.lucene.store.OutputStreamDataOutput;
import org.apache.lucene.util.ArrayUtil;
import org.apache.lucene.util.CodecUtil;
@@ -364,6 +368,25 @@ public class FST<T> {
}
}
}
+
+ /**
+ * Reads an automaton from a file.
+ */
+ public static <T> FST<T> read(File file, Outputs<T> outputs) throws IOException {
+ InputStream is = new BufferedInputStream(new FileInputStream(file));
+ boolean success = false;
+ try {
+ FST<T> fst = new FST<T>(new InputStreamDataInput(is), outputs);
+ success = true;
+ return fst;
+ } finally {
+ if (success) {
+ IOUtils.close(is);
+ } else {
+ IOUtils.closeWhileHandlingException(is);
+ }
+ }
+ }
private void writeLabel(int v) throws IOException {
assert v >= 0: "v=" + v;
Modified: lucene/dev/branches/branch_3x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/solr/CHANGES.txt?rev=1232289&r1=1232288&r2=1232289&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_3x/solr/CHANGES.txt Tue Jan 17 04:00:29 2012
@@ -70,6 +70,10 @@ Optimizations
* SOLR-3012: Move System.getProperty("type") in postData() to main() and add type argument so that
the client applications of SimplePostTool can set content type via method argument. (koji)
+* SOLR-2888: FSTSuggester refactoring: internal storage is now UTF-8,
+ external sorting (on disk) prevents OOMs even with large data sets
+ (the bottleneck is now FST construction), code cleanups and API cleanups.
+ (Dawid Weiss, Robert Muir)
Bug Fixes
----------------------
Modified: lucene/dev/branches/branch_3x/solr/core/src/java/org/apache/solr/spelling/suggest/fst/FSTLookupFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/solr/core/src/java/org/apache/solr/spelling/suggest/fst/FSTLookupFactory.java?rev=1232289&r1=1232288&r2=1232289&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/solr/core/src/java/org/apache/solr/spelling/suggest/fst/FSTLookupFactory.java (original)
+++ lucene/dev/branches/branch_3x/solr/core/src/java/org/apache/solr/spelling/suggest/fst/FSTLookupFactory.java Tue Jan 17 04:00:29 2012
@@ -18,13 +18,13 @@ package org.apache.solr.spelling.suggest
*/
import org.apache.lucene.search.suggest.Lookup;
-import org.apache.lucene.search.suggest.fst.FSTLookup;
+import org.apache.lucene.search.suggest.fst.FSTCompletionLookup;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.core.SolrCore;
import org.apache.solr.spelling.suggest.LookupFactory;
/**
- * Factory for {@link FSTLookup}
+ * Factory for {@link FSTCompletionLookup}
*/
public class FSTLookupFactory extends LookupFactory {
@@ -55,6 +55,6 @@ public class FSTLookupFactory extends Lo
? Boolean.valueOf(params.get(EXACT_MATCH_FIRST).toString())
: true;
- return new FSTLookup(buckets, exactMatchFirst);
+ return new FSTCompletionLookup(buckets, exactMatchFirst);
}
}