You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2013/10/14 19:34:31 UTC
svn commit: r1531987 [2/2] - in /lucene/dev/trunk/lucene: ./
suggest/src/java/org/apache/lucene/search/spell/
suggest/src/java/org/apache/lucene/search/suggest/
suggest/src/java/org/apache/lucene/search/suggest/analyzing/
suggest/src/java/org/apache/lu...
Modified: lucene/dev/trunk/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/FuzzySuggesterTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/FuzzySuggesterTest.java?rev=1531987&r1=1531986&r2=1531987&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/FuzzySuggesterTest.java (original)
+++ lucene/dev/trunk/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/FuzzySuggesterTest.java Mon Oct 14 17:34:30 2013
@@ -41,8 +41,8 @@ import org.apache.lucene.analysis.Tokeni
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
import org.apache.lucene.search.suggest.Lookup.LookupResult;
-import org.apache.lucene.search.suggest.TermFreqPayload;
-import org.apache.lucene.search.suggest.TermFreqPayloadArrayIterator;
+import org.apache.lucene.search.suggest.Input;
+import org.apache.lucene.search.suggest.InputArrayIterator;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.IntsRef;
import org.apache.lucene.util.LuceneTestCase;
@@ -54,16 +54,16 @@ import org.apache.lucene.util.fst.Util;
public class FuzzySuggesterTest extends LuceneTestCase {
public void testRandomEdits() throws IOException {
- List<TermFreqPayload> keys = new ArrayList<TermFreqPayload>();
+ List<Input> keys = new ArrayList<Input>();
int numTerms = atLeast(100);
for (int i = 0; i < numTerms; i++) {
- keys.add(new TermFreqPayload("boo" + _TestUtil.randomSimpleString(random()), 1 + random().nextInt(100)));
+ keys.add(new Input("boo" + _TestUtil.randomSimpleString(random()), 1 + random().nextInt(100)));
}
- keys.add(new TermFreqPayload("foo bar boo far", 12));
+ keys.add(new Input("foo bar boo far", 12));
MockAnalyzer analyzer = new MockAnalyzer(random(), MockTokenizer.KEYWORD, false);
FuzzySuggester suggester = new FuzzySuggester(analyzer, analyzer, FuzzySuggester.EXACT_FIRST | FuzzySuggester.PRESERVE_SEP, 256, -1, FuzzySuggester.DEFAULT_MAX_EDITS, FuzzySuggester.DEFAULT_TRANSPOSITIONS,
0, FuzzySuggester.DEFAULT_MIN_FUZZY_LENGTH, FuzzySuggester.DEFAULT_UNICODE_AWARE);
- suggester.build(new TermFreqPayloadArrayIterator(keys));
+ suggester.build(new InputArrayIterator(keys));
int numIters = atLeast(10);
for (int i = 0; i < numIters; i++) {
String addRandomEdit = addRandomEdit("foo bar boo", FuzzySuggester.DEFAULT_NON_FUZZY_PREFIX);
@@ -75,16 +75,16 @@ public class FuzzySuggesterTest extends
}
public void testNonLatinRandomEdits() throws IOException {
- List<TermFreqPayload> keys = new ArrayList<TermFreqPayload>();
+ List<Input> keys = new ArrayList<Input>();
int numTerms = atLeast(100);
for (int i = 0; i < numTerms; i++) {
- keys.add(new TermFreqPayload("бÑÑ" + _TestUtil.randomSimpleString(random()), 1 + random().nextInt(100)));
+ keys.add(new Input("бÑÑ" + _TestUtil.randomSimpleString(random()), 1 + random().nextInt(100)));
}
- keys.add(new TermFreqPayload("ÑÑÑ Ð±Ð°Ñ Ð±ÑÑ ÑаÑ", 12));
+ keys.add(new Input("ÑÑÑ Ð±Ð°Ñ Ð±ÑÑ ÑаÑ", 12));
MockAnalyzer analyzer = new MockAnalyzer(random(), MockTokenizer.KEYWORD, false);
FuzzySuggester suggester = new FuzzySuggester(analyzer, analyzer, FuzzySuggester.EXACT_FIRST | FuzzySuggester.PRESERVE_SEP, 256, -1, FuzzySuggester.DEFAULT_MAX_EDITS, FuzzySuggester.DEFAULT_TRANSPOSITIONS,
0, FuzzySuggester.DEFAULT_MIN_FUZZY_LENGTH, true);
- suggester.build(new TermFreqPayloadArrayIterator(keys));
+ suggester.build(new InputArrayIterator(keys));
int numIters = atLeast(10);
for (int i = 0; i < numIters; i++) {
String addRandomEdit = addRandomEdit("ÑÑÑ Ð±Ð°Ñ Ð±ÑÑ", 0);
@@ -97,15 +97,15 @@ public class FuzzySuggesterTest extends
/** this is basically the WFST test ported to KeywordAnalyzer. so it acts the same */
public void testKeyword() throws Exception {
- TermFreqPayload keys[] = new TermFreqPayload[] {
- new TermFreqPayload("foo", 50),
- new TermFreqPayload("bar", 10),
- new TermFreqPayload("barbar", 12),
- new TermFreqPayload("barbara", 6)
+ Input keys[] = new Input[] {
+ new Input("foo", 50),
+ new Input("bar", 10),
+ new Input("barbar", 12),
+ new Input("barbara", 6)
};
FuzzySuggester suggester = new FuzzySuggester(new MockAnalyzer(random(), MockTokenizer.KEYWORD, false));
- suggester.build(new TermFreqPayloadArrayIterator(keys));
+ suggester.build(new InputArrayIterator(keys));
List<LookupResult> results = suggester.lookup(_TestUtil.stringToCharSequence("bariar", random()), false, 2);
assertEquals(2, results.size());
@@ -172,14 +172,14 @@ public class FuzzySuggesterTest extends
* basic "standardanalyzer" test with stopword removal
*/
public void testStandard() throws Exception {
- TermFreqPayload keys[] = new TermFreqPayload[] {
- new TermFreqPayload("the ghost of christmas past", 50),
+ Input keys[] = new Input[] {
+ new Input("the ghost of christmas past", 50),
};
Analyzer standard = new MockAnalyzer(random(), MockTokenizer.WHITESPACE, true, MockTokenFilter.ENGLISH_STOPSET);
FuzzySuggester suggester = new FuzzySuggester(standard);
suggester.setPreservePositionIncrements(false);
- suggester.build(new TermFreqPayloadArrayIterator(keys));
+ suggester.build(new InputArrayIterator(keys));
List<LookupResult> results = suggester.lookup(_TestUtil.stringToCharSequence("the ghost of chris", random()), false, 1);
assertEquals(1, results.size());
@@ -200,16 +200,16 @@ public class FuzzySuggesterTest extends
}
public void testNoSeps() throws Exception {
- TermFreqPayload[] keys = new TermFreqPayload[] {
- new TermFreqPayload("ab cd", 0),
- new TermFreqPayload("abcd", 1),
+ Input[] keys = new Input[] {
+ new Input("ab cd", 0),
+ new Input("abcd", 1),
};
int options = 0;
Analyzer a = new MockAnalyzer(random());
FuzzySuggester suggester = new FuzzySuggester(a, a, options, 256, -1, 1, true, 1, 3, false);
- suggester.build(new TermFreqPayloadArrayIterator(keys));
+ suggester.build(new InputArrayIterator(keys));
// TODO: would be nice if "ab " would allow the test to
// pass, and more generally if the analyzer can know
// that the user's current query has ended at a word,
@@ -270,12 +270,12 @@ public class FuzzySuggesterTest extends
}
};
- TermFreqPayload keys[] = new TermFreqPayload[] {
- new TermFreqPayload("wifi network is slow", 50),
- new TermFreqPayload("wi fi network is fast", 10),
+ Input keys[] = new Input[] {
+ new Input("wifi network is slow", 50),
+ new Input("wi fi network is fast", 10),
};
FuzzySuggester suggester = new FuzzySuggester(analyzer);
- suggester.build(new TermFreqPayloadArrayIterator(keys));
+ suggester.build(new InputArrayIterator(keys));
List<LookupResult> results = suggester.lookup("wifi network", false, 10);
if (VERBOSE) {
@@ -290,7 +290,7 @@ public class FuzzySuggesterTest extends
public void testEmpty() throws Exception {
FuzzySuggester suggester = new FuzzySuggester(new MockAnalyzer(random(), MockTokenizer.KEYWORD, false));
- suggester.build(new TermFreqPayloadArrayIterator(new TermFreqPayload[0]));
+ suggester.build(new InputArrayIterator(new Input[0]));
List<LookupResult> result = suggester.lookup("a", false, 20);
assertTrue(result.isEmpty());
@@ -344,12 +344,12 @@ public class FuzzySuggesterTest extends
}
};
- TermFreqPayload keys[] = new TermFreqPayload[] {
- new TermFreqPayload("ab xc", 50),
- new TermFreqPayload("ba xd", 50),
+ Input keys[] = new Input[] {
+ new Input("ab xc", 50),
+ new Input("ba xd", 50),
};
FuzzySuggester suggester = new FuzzySuggester(analyzer);
- suggester.build(new TermFreqPayloadArrayIterator(keys));
+ suggester.build(new InputArrayIterator(keys));
List<LookupResult> results = suggester.lookup("ab x", false, 1);
assertTrue(results.size() == 1);
}
@@ -418,11 +418,11 @@ public class FuzzySuggesterTest extends
Analyzer a = getUnusualAnalyzer();
FuzzySuggester suggester = new FuzzySuggester(a, a, AnalyzingSuggester.EXACT_FIRST | AnalyzingSuggester.PRESERVE_SEP, 256, -1, 1, true, 1, 3, false);
- suggester.build(new TermFreqPayloadArrayIterator(new TermFreqPayload[] {
- new TermFreqPayload("x y", 1),
- new TermFreqPayload("x y z", 3),
- new TermFreqPayload("x", 2),
- new TermFreqPayload("z z z", 20),
+ suggester.build(new InputArrayIterator(new Input[] {
+ new Input("x y", 1),
+ new Input("x y z", 3),
+ new Input("x", 2),
+ new Input("z z z", 20),
}));
//System.out.println("ALL: " + suggester.lookup("x y", false, 6));
@@ -458,11 +458,11 @@ public class FuzzySuggesterTest extends
Analyzer a = getUnusualAnalyzer();
FuzzySuggester suggester = new FuzzySuggester(a, a, AnalyzingSuggester.PRESERVE_SEP, 256, -1, 1, true, 1, 3, false);
- suggester.build(new TermFreqPayloadArrayIterator(new TermFreqPayload[] {
- new TermFreqPayload("x y", 1),
- new TermFreqPayload("x y z", 3),
- new TermFreqPayload("x", 2),
- new TermFreqPayload("z z z", 20),
+ suggester.build(new InputArrayIterator(new Input[] {
+ new Input("x y", 1),
+ new Input("x y z", 3),
+ new Input("x", 2),
+ new Input("z z z", 20),
}));
for(int topN=1;topN<6;topN++) {
@@ -600,7 +600,7 @@ public class FuzzySuggesterTest extends
final TreeSet<String> allPrefixes = new TreeSet<String>();
final Set<String> seen = new HashSet<String>();
- TermFreqPayload[] keys = new TermFreqPayload[numQueries];
+ Input[] keys = new Input[numQueries];
boolean preserveSep = random().nextBoolean();
boolean unicodeAware = random().nextBoolean();
@@ -666,7 +666,7 @@ public class FuzzySuggesterTest extends
}
// we can probably do Integer.MAX_VALUE here, but why worry.
int weight = random().nextInt(1<<24);
- keys[i] = new TermFreqPayload(key, weight);
+ keys[i] = new Input(key, weight);
slowCompletor.add(new TermFreqPayload2(key, analyzedKey, weight));
}
@@ -684,7 +684,7 @@ public class FuzzySuggesterTest extends
Analyzer a = new MockTokenEatingAnalyzer(numStopChars, preserveHoles);
FuzzySuggester suggester = new FuzzySuggester(a, a,
preserveSep ? AnalyzingSuggester.PRESERVE_SEP : 0, 256, -1, 1, false, 1, 3, unicodeAware);
- suggester.build(new TermFreqPayloadArrayIterator(keys));
+ suggester.build(new InputArrayIterator(keys));
for (String prefix : allPrefixes) {
@@ -825,14 +825,14 @@ public class FuzzySuggesterTest extends
Analyzer a = new MockAnalyzer(random());
FuzzySuggester suggester = new FuzzySuggester(a, a, 0, 2, -1, 1, true, 1, 3, false);
- List<TermFreqPayload> keys = Arrays.asList(new TermFreqPayload[] {
- new TermFreqPayload("a", 40),
- new TermFreqPayload("a ", 50),
- new TermFreqPayload(" a", 60),
+ List<Input> keys = Arrays.asList(new Input[] {
+ new Input("a", 40),
+ new Input("a ", 50),
+ new Input(" a", 60),
});
Collections.shuffle(keys, random());
- suggester.build(new TermFreqPayloadArrayIterator(keys));
+ suggester.build(new InputArrayIterator(keys));
List<LookupResult> results = suggester.lookup("a", false, 5);
assertEquals(2, results.size());
@@ -846,15 +846,15 @@ public class FuzzySuggesterTest extends
Analyzer a = new MockAnalyzer(random());
FuzzySuggester suggester = new FuzzySuggester(a, a, FuzzySuggester.PRESERVE_SEP, 2, -1, 2, true, 1, 3, false);
- List<TermFreqPayload> keys = Arrays.asList(new TermFreqPayload[] {
- new TermFreqPayload("foo bar", 40),
- new TermFreqPayload("foo bar baz", 50),
- new TermFreqPayload("barbaz", 60),
- new TermFreqPayload("barbazfoo", 10),
+ List<Input> keys = Arrays.asList(new Input[] {
+ new Input("foo bar", 40),
+ new Input("foo bar baz", 50),
+ new Input("barbaz", 60),
+ new Input("barbazfoo", 10),
});
Collections.shuffle(keys, random());
- suggester.build(new TermFreqPayloadArrayIterator(keys));
+ suggester.build(new InputArrayIterator(keys));
assertEquals("[foo bar baz/50, foo bar/40]", suggester.lookup("foobar", false, 5).toString());
assertEquals("[foo bar baz/50]", suggester.lookup("foobarbaz", false, 5).toString());
@@ -929,25 +929,25 @@ public class FuzzySuggesterTest extends
public void testRandom2() throws Throwable {
final int NUM = atLeast(200);
- final List<TermFreqPayload> answers = new ArrayList<TermFreqPayload>();
+ final List<Input> answers = new ArrayList<Input>();
final Set<String> seen = new HashSet<String>();
for(int i=0;i<NUM;i++) {
final String s = randomSimpleString(8);
if (!seen.contains(s)) {
- answers.add(new TermFreqPayload(s, random().nextInt(1000)));
+ answers.add(new Input(s, random().nextInt(1000)));
seen.add(s);
}
}
- Collections.sort(answers, new Comparator<TermFreqPayload>() {
+ Collections.sort(answers, new Comparator<Input>() {
@Override
- public int compare(TermFreqPayload a, TermFreqPayload b) {
+ public int compare(Input a, Input b) {
return a.term.compareTo(b.term);
}
});
if (VERBOSE) {
System.out.println("\nTEST: targets");
- for(TermFreqPayload tf : answers) {
+ for(Input tf : answers) {
System.out.println(" " + tf.term.utf8ToString() + " freq=" + tf.v);
}
}
@@ -965,7 +965,7 @@ public class FuzzySuggesterTest extends
}
Collections.shuffle(answers, random());
- suggest.build(new TermFreqPayloadArrayIterator(answers.toArray(new TermFreqPayload[answers.size()])));
+ suggest.build(new InputArrayIterator(answers.toArray(new Input[answers.size()])));
final int ITERS = atLeast(100);
for(int iter=0;iter<ITERS;iter++) {
@@ -1004,10 +1004,10 @@ public class FuzzySuggesterTest extends
}
}
- private List<LookupResult> slowFuzzyMatch(int prefixLen, int maxEdits, boolean allowTransposition, List<TermFreqPayload> answers, String frag) {
+ private List<LookupResult> slowFuzzyMatch(int prefixLen, int maxEdits, boolean allowTransposition, List<Input> answers, String frag) {
final List<LookupResult> results = new ArrayList<LookupResult>();
final int fragLen = frag.length();
- for(TermFreqPayload tf : answers) {
+ for(Input tf : answers) {
//System.out.println(" check s=" + tf.term.utf8ToString());
boolean prefixMatches = true;
for(int i=0;i<prefixLen;i++) {
Modified: lucene/dev/trunk/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestFreeTextSuggester.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestFreeTextSuggester.java?rev=1531987&r1=1531986&r2=1531987&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestFreeTextSuggester.java (original)
+++ lucene/dev/trunk/lucene/suggest/src/test/org/apache/lucene/search/suggest/analyzing/TestFreeTextSuggester.java Mon Oct 14 17:34:30 2013
@@ -41,10 +41,10 @@ import org.apache.lucene.analysis.Tokeni
import org.apache.lucene.analysis.core.StopFilter;
import org.apache.lucene.analysis.util.CharArraySet;
import org.apache.lucene.document.Document;
-import org.apache.lucene.search.spell.TermFreqPayloadIterator;
import org.apache.lucene.search.suggest.Lookup.LookupResult;
-import org.apache.lucene.search.suggest.TermFreqPayload;
-import org.apache.lucene.search.suggest.TermFreqPayloadArrayIterator;
+import org.apache.lucene.search.suggest.Input;
+import org.apache.lucene.search.suggest.InputArrayIterator;
+import org.apache.lucene.search.suggest.InputIterator;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LineFileDocs;
import org.apache.lucene.util.LuceneTestCase;
@@ -54,14 +54,14 @@ import org.junit.Ignore;
public class TestFreeTextSuggester extends LuceneTestCase {
public void testBasic() throws Exception {
- Iterable<TermFreqPayload> keys = shuffle(
- new TermFreqPayload("foo bar baz blah", 50),
- new TermFreqPayload("boo foo bar foo bee", 20)
+ Iterable<Input> keys = shuffle(
+ new Input("foo bar baz blah", 50),
+ new Input("boo foo bar foo bee", 20)
);
Analyzer a = new MockAnalyzer(random());
FreeTextSuggester sug = new FreeTextSuggester(a, a, 2, (byte) 0x20);
- sug.build(new TermFreqPayloadArrayIterator(keys));
+ sug.build(new InputArrayIterator(keys));
for(int i=0;i<2;i++) {
@@ -101,12 +101,12 @@ public class TestFreeTextSuggester exten
public void testIllegalByteDuringBuild() throws Exception {
// Default separator is INFORMATION SEPARATOR TWO
// (0x1e), so no input token is allowed to contain it
- Iterable<TermFreqPayload> keys = shuffle(
- new TermFreqPayload("foo\u001ebar baz", 50)
+ Iterable<Input> keys = shuffle(
+ new Input("foo\u001ebar baz", 50)
);
FreeTextSuggester sug = new FreeTextSuggester(new MockAnalyzer(random()));
try {
- sug.build(new TermFreqPayloadArrayIterator(keys));
+ sug.build(new InputArrayIterator(keys));
fail("did not hit expected exception");
} catch (IllegalArgumentException iae) {
// expected
@@ -116,11 +116,11 @@ public class TestFreeTextSuggester exten
public void testIllegalByteDuringQuery() throws Exception {
// Default separator is INFORMATION SEPARATOR TWO
// (0x1e), so no input token is allowed to contain it
- Iterable<TermFreqPayload> keys = shuffle(
- new TermFreqPayload("foo bar baz", 50)
+ Iterable<Input> keys = shuffle(
+ new Input("foo bar baz", 50)
);
FreeTextSuggester sug = new FreeTextSuggester(new MockAnalyzer(random()));
- sug.build(new TermFreqPayloadArrayIterator(keys));
+ sug.build(new InputArrayIterator(keys));
try {
sug.lookup("foo\u001eb", 10);
@@ -136,7 +136,7 @@ public class TestFreeTextSuggester exten
// Skip header:
lfd.nextDoc();
FreeTextSuggester sug = new FreeTextSuggester(new MockAnalyzer(random()));
- sug.build(new TermFreqPayloadIterator() {
+ sug.build(new InputIterator() {
private int count;
@@ -185,13 +185,13 @@ public class TestFreeTextSuggester exten
// Make sure you can suggest based only on unigram model:
public void testUnigrams() throws Exception {
- Iterable<TermFreqPayload> keys = shuffle(
- new TermFreqPayload("foo bar baz blah boo foo bar foo bee", 50)
+ Iterable<Input> keys = shuffle(
+ new Input("foo bar baz blah boo foo bar foo bee", 50)
);
Analyzer a = new MockAnalyzer(random());
FreeTextSuggester sug = new FreeTextSuggester(a, a, 1, (byte) 0x20);
- sug.build(new TermFreqPayloadArrayIterator(keys));
+ sug.build(new InputArrayIterator(keys));
// Sorts first by count, descending, second by term, ascending
assertEquals("bar/0.22 baz/0.11 bee/0.11 blah/0.11 boo/0.11",
toString(sug.lookup("b", 10)));
@@ -199,24 +199,24 @@ public class TestFreeTextSuggester exten
// Make sure the last token is not duplicated
public void testNoDupsAcrossGrams() throws Exception {
- Iterable<TermFreqPayload> keys = shuffle(
- new TermFreqPayload("foo bar bar bar bar", 50)
+ Iterable<Input> keys = shuffle(
+ new Input("foo bar bar bar bar", 50)
);
Analyzer a = new MockAnalyzer(random());
FreeTextSuggester sug = new FreeTextSuggester(a, a, 2, (byte) 0x20);
- sug.build(new TermFreqPayloadArrayIterator(keys));
+ sug.build(new InputArrayIterator(keys));
assertEquals("foo bar/1.00",
toString(sug.lookup("foo b", 10)));
}
// Lookup of just empty string produces unicode only matches:
public void testEmptyString() throws Exception {
- Iterable<TermFreqPayload> keys = shuffle(
- new TermFreqPayload("foo bar bar bar bar", 50)
+ Iterable<Input> keys = shuffle(
+ new Input("foo bar bar bar bar", 50)
);
Analyzer a = new MockAnalyzer(random());
FreeTextSuggester sug = new FreeTextSuggester(a, a, 2, (byte) 0x20);
- sug.build(new TermFreqPayloadArrayIterator(keys));
+ sug.build(new InputArrayIterator(keys));
try {
sug.lookup("", 10);
fail("did not hit exception");
@@ -238,11 +238,11 @@ public class TestFreeTextSuggester exten
}
};
- Iterable<TermFreqPayload> keys = shuffle(
- new TermFreqPayload("wizard of oz", 50)
+ Iterable<Input> keys = shuffle(
+ new Input("wizard of oz", 50)
);
FreeTextSuggester sug = new FreeTextSuggester(a, a, 3, (byte) 0x20);
- sug.build(new TermFreqPayloadArrayIterator(keys));
+ sug.build(new InputArrayIterator(keys));
assertEquals("wizard _ oz/1.00",
toString(sug.lookup("wizard of", 10)));
@@ -266,11 +266,11 @@ public class TestFreeTextSuggester exten
}
};
- Iterable<TermFreqPayload> keys = shuffle(
- new TermFreqPayload("wizard of of oz", 50)
+ Iterable<Input> keys = shuffle(
+ new Input("wizard of of oz", 50)
);
FreeTextSuggester sug = new FreeTextSuggester(a, a, 3, (byte) 0x20);
- sug.build(new TermFreqPayloadArrayIterator(keys));
+ sug.build(new InputArrayIterator(keys));
assertEquals("",
toString(sug.lookup("wizard of of", 10)));
}
@@ -330,7 +330,7 @@ public class TestFreeTextSuggester exten
// Build suggester model:
FreeTextSuggester sug = new FreeTextSuggester(a, a, grams, (byte) 0x20);
- sug.build(new TermFreqPayloadIterator() {
+ sug.build(new InputIterator() {
int upto;
@Override
Modified: lucene/dev/trunk/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/FSTCompletionTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/FSTCompletionTest.java?rev=1531987&r1=1531986&r2=1531987&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/FSTCompletionTest.java (original)
+++ lucene/dev/trunk/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/FSTCompletionTest.java Mon Oct 14 17:34:30 2013
@@ -28,8 +28,8 @@ import org.apache.lucene.util.*;
* Unit tests for {@link FSTCompletion}.
*/
public class FSTCompletionTest extends LuceneTestCase {
- public static TermFreqPayload tf(String t, int v) {
- return new TermFreqPayload(t, v);
+ public static Input tf(String t, int v) {
+ return new Input(t, v);
}
private FSTCompletion completion;
@@ -40,15 +40,15 @@ public class FSTCompletionTest extends L
super.setUp();
FSTCompletionBuilder builder = new FSTCompletionBuilder();
- for (TermFreqPayload tf : evalKeys()) {
+ for (Input tf : evalKeys()) {
builder.add(tf.term, (int) tf.v);
}
completion = builder.build();
completionAlphabetical = new FSTCompletion(completion.getFST(), false, true);
}
- private TermFreqPayload[] evalKeys() {
- final TermFreqPayload[] keys = new TermFreqPayload[] {
+ private Input[] evalKeys() {
+ final Input[] keys = new Input[] {
tf("one", 0),
tf("oneness", 1),
tf("onerous", 1),
@@ -157,17 +157,17 @@ public class FSTCompletionTest extends L
FSTCompletionLookup lookup = new FSTCompletionLookup(10, true);
Random r = random();
- List<TermFreqPayload> keys = new ArrayList<TermFreqPayload>();
+ List<Input> keys = new ArrayList<Input>();
for (int i = 0; i < 5000; i++) {
- keys.add(new TermFreqPayload(_TestUtil.randomSimpleString(r), -1));
+ keys.add(new Input(_TestUtil.randomSimpleString(r), -1));
}
- lookup.build(new TermFreqPayloadArrayIterator(keys));
+ lookup.build(new InputArrayIterator(keys));
// All the weights were constant, so all returned buckets must be constant, whatever they
// are.
Long previous = null;
- for (TermFreqPayload tf : keys) {
+ for (Input tf : keys) {
Long current = ((Number)lookup.get(_TestUtil.bytesToCharSequence(tf.term, random()))).longValue();
if (previous != null) {
assertEquals(previous, current);
@@ -177,11 +177,11 @@ public class FSTCompletionTest extends L
}
public void testMultilingualInput() throws Exception {
- List<TermFreqPayload> input = LookupBenchmarkTest.readTop50KWiki();
+ List<Input> input = LookupBenchmarkTest.readTop50KWiki();
FSTCompletionLookup lookup = new FSTCompletionLookup();
- lookup.build(new TermFreqPayloadArrayIterator(input));
- for (TermFreqPayload tf : input) {
+ lookup.build(new InputArrayIterator(input));
+ for (Input tf : input) {
assertNotNull("Not found: " + tf.term.toString(), lookup.get(_TestUtil.bytesToCharSequence(tf.term, random())));
assertEquals(tf.term.utf8ToString(), lookup.lookup(_TestUtil.bytesToCharSequence(tf.term, random()), true, 1).get(0).key.toString());
}
@@ -198,17 +198,17 @@ public class FSTCompletionTest extends L
}
public void testRandom() throws Exception {
- List<TermFreqPayload> freqs = new ArrayList<TermFreqPayload>();
+ List<Input> freqs = new ArrayList<Input>();
Random rnd = random();
for (int i = 0; i < 2500 + rnd.nextInt(2500); i++) {
int weight = rnd.nextInt(100);
- freqs.add(new TermFreqPayload("" + rnd.nextLong(), weight));
+ freqs.add(new Input("" + rnd.nextLong(), weight));
}
FSTCompletionLookup lookup = new FSTCompletionLookup();
- lookup.build(new TermFreqPayloadArrayIterator(freqs.toArray(new TermFreqPayload[freqs.size()])));
+ lookup.build(new InputArrayIterator(freqs.toArray(new Input[freqs.size()])));
- for (TermFreqPayload tf : freqs) {
+ for (Input tf : freqs) {
final String term = tf.term.utf8ToString();
for (int i = 1; i < term.length(); i++) {
String prefix = term.substring(0, i);
Modified: lucene/dev/trunk/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/WFSTCompletionTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/WFSTCompletionTest.java?rev=1531987&r1=1531986&r2=1531987&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/WFSTCompletionTest.java (original)
+++ lucene/dev/trunk/lucene/suggest/src/test/org/apache/lucene/search/suggest/fst/WFSTCompletionTest.java Mon Oct 14 17:34:30 2013
@@ -20,8 +20,8 @@ package org.apache.lucene.search.suggest
import java.util.*;
import org.apache.lucene.search.suggest.Lookup.LookupResult;
-import org.apache.lucene.search.suggest.TermFreqPayload;
-import org.apache.lucene.search.suggest.TermFreqPayloadArrayIterator;
+import org.apache.lucene.search.suggest.Input;
+import org.apache.lucene.search.suggest.InputArrayIterator;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util._TestUtil;
@@ -29,16 +29,16 @@ import org.apache.lucene.util._TestUtil;
public class WFSTCompletionTest extends LuceneTestCase {
public void testBasic() throws Exception {
- TermFreqPayload keys[] = new TermFreqPayload[] {
- new TermFreqPayload("foo", 50),
- new TermFreqPayload("bar", 10),
- new TermFreqPayload("barbar", 12),
- new TermFreqPayload("barbara", 6)
+ Input keys[] = new Input[] {
+ new Input("foo", 50),
+ new Input("bar", 10),
+ new Input("barbar", 12),
+ new Input("barbara", 6)
};
Random random = new Random(random().nextLong());
WFSTCompletionLookup suggester = new WFSTCompletionLookup();
- suggester.build(new TermFreqPayloadArrayIterator(keys));
+ suggester.build(new InputArrayIterator(keys));
// top N of 2, but only foo is available
List<LookupResult> results = suggester.lookup(_TestUtil.stringToCharSequence("f", random), false, 2);
@@ -81,9 +81,9 @@ public class WFSTCompletionTest extends
WFSTCompletionLookup suggester = new WFSTCompletionLookup(true);
- suggester.build(new TermFreqPayloadArrayIterator(new TermFreqPayload[] {
- new TermFreqPayload("x y", 20),
- new TermFreqPayload("x", 2),
+ suggester.build(new InputArrayIterator(new Input[] {
+ new Input("x y", 20),
+ new Input("x", 2),
}));
for(int topN=1;topN<4;topN++) {
@@ -105,9 +105,9 @@ public class WFSTCompletionTest extends
WFSTCompletionLookup suggester = new WFSTCompletionLookup(false);
- suggester.build(new TermFreqPayloadArrayIterator(new TermFreqPayload[] {
- new TermFreqPayload("x y", 20),
- new TermFreqPayload("x", 2),
+ suggester.build(new InputArrayIterator(new Input[] {
+ new Input("x y", 20),
+ new Input("x", 2),
}));
for(int topN=1;topN<4;topN++) {
@@ -131,7 +131,7 @@ public class WFSTCompletionTest extends
final TreeMap<String,Long> slowCompletor = new TreeMap<String,Long>();
final TreeSet<String> allPrefixes = new TreeSet<String>();
- TermFreqPayload[] keys = new TermFreqPayload[numWords];
+ Input[] keys = new Input[numWords];
for (int i = 0; i < numWords; i++) {
String s;
@@ -150,11 +150,11 @@ public class WFSTCompletionTest extends
// we can probably do Integer.MAX_VALUE here, but why worry.
int weight = random().nextInt(1<<24);
slowCompletor.put(s, (long)weight);
- keys[i] = new TermFreqPayload(s, weight);
+ keys[i] = new Input(s, weight);
}
WFSTCompletionLookup suggester = new WFSTCompletionLookup(false);
- suggester.build(new TermFreqPayloadArrayIterator(keys));
+ suggester.build(new InputArrayIterator(keys));
Random random = new Random(random().nextLong());
for (String prefix : allPrefixes) {
@@ -205,16 +205,16 @@ public class WFSTCompletionTest extends
WFSTCompletionLookup suggester = new WFSTCompletionLookup(false);
- suggester.build(new TermFreqPayloadArrayIterator(new TermFreqPayload[] {
- new TermFreqPayload(key1, 50),
- new TermFreqPayload(key2, 50),
+ suggester.build(new InputArrayIterator(new Input[] {
+ new Input(key1, 50),
+ new Input(key2, 50),
}));
}
public void testEmpty() throws Exception {
WFSTCompletionLookup suggester = new WFSTCompletionLookup(false);
- suggester.build(new TermFreqPayloadArrayIterator(new TermFreqPayload[0]));
+ suggester.build(new InputArrayIterator(new Input[0]));
List<LookupResult> result = suggester.lookup("a", false, 20);
assertTrue(result.isEmpty());
}