You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by dw...@apache.org on 2011/09/15 17:25:08 UTC
svn commit: r1171133 - in
/lucene/dev/branches/branch_3x/lucene/contrib/spellchecker/src:
java/org/apache/lucene/search/suggest/fst/FSTLookup.java
test/org/apache/lucene/search/suggest/fst/FSTLookupTest.java
Author: dweiss
Date: Thu Sep 15 15:25:07 2011
New Revision: 1171133
URL: http://svn.apache.org/viewvc?rev=1171133&view=rev
Log:
Backporting test changes.
Modified:
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/fst/FSTLookupTest.java
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=1171133&r1=1171132&r2=1171133&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 Thu Sep 15 15:25:07 2011
@@ -335,7 +335,7 @@ public class FSTLookup extends Lookup {
// so we will collect it too.
output.setLength(matchLength);
if (collect(res, num, weight, output, arc) && greedy) {
- // We have enough suggestion to return immediately. Keep on looking for an
+ // We have enough suggestions to return immediately. Keep on looking for an
// exact match, if requested.
if (exactMatchFirst) {
Float exactMatchWeight = getExactMatchStartingFromRootArc(i, key);
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=1171133&r1=1171132&r2=1171133&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 Thu Sep 15 15:25:07 2011
@@ -43,6 +43,12 @@ public class FSTLookupTest extends Lucen
public void setUp() throws Exception {
super.setUp();
+
+ lookup = new FSTLookup();
+ lookup.build(new TermFreqArrayIterator(evalKeys()));
+ }
+
+ private TermFreq[] evalKeys() {
final TermFreq[] keys = new TermFreq[] {
tf("one", 0.5f),
tf("oneness", 1),
@@ -61,9 +67,7 @@ public class FSTLookupTest extends Lucen
tf("fourty", 1),
tf("xo", 1),
};
-
- lookup = new FSTLookup();
- lookup.build(new TermFreqArrayIterator(keys));
+ return keys;
}
public void testExactMatchHighPriority() throws Exception {
@@ -76,6 +80,31 @@ public class FSTLookupTest extends Lucen
"oneness/1.0");
}
+ public void testRequestedCount() throws Exception {
+ // 'one' is promoted after collecting two higher ranking results.
+ assertMatchEquals(lookup.lookup("one", true, 2),
+ "one/0.0",
+ "oneness/1.0");
+
+ // 'one' is at the top after collecting all alphabetical results.
+ assertMatchEquals(lookup.lookup("one", false, 2),
+ "one/0.0",
+ "oneness/1.0");
+
+ lookup = new FSTLookup(10, false);
+ lookup.build(new TermFreqArrayIterator(evalKeys()));
+
+ // 'one' is not promoted after collecting two higher ranking results.
+ assertMatchEquals(lookup.lookup("one", true, 2),
+ "oneness/1.0",
+ "onerous/1.0");
+
+ // 'one' is at the top after collecting all alphabetical results.
+ assertMatchEquals(lookup.lookup("one", false, 2),
+ "one/0.0",
+ "oneness/1.0");
+ }
+
public void testMiss() throws Exception {
assertMatchEquals(lookup.lookup("xyz", true, 1));
}