You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ab...@apache.org on 2010/10/21 00:25:11 UTC
svn commit: r1025783 - in /lucene/dev/branches/branch_3x/solr: CHANGES.txt
src/java/org/apache/solr/spelling/suggest/Suggester.java
src/test/org/apache/solr/spelling/suggest/SuggesterTest.java
Author: ab
Date: Wed Oct 20 22:25:11 2010
New Revision: 1025783
URL: http://svn.apache.org/viewvc?rev=1025783&view=rev
Log:
SOLR-2173 Suggester should always rebuild Lookup data if Lookup.load fails.
Modified:
lucene/dev/branches/branch_3x/solr/CHANGES.txt
lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/spelling/suggest/Suggester.java
lucene/dev/branches/branch_3x/solr/src/test/org/apache/solr/spelling/suggest/SuggesterTest.java
Modified: lucene/dev/branches/branch_3x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/solr/CHANGES.txt?rev=1025783&r1=1025782&r2=1025783&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_3x/solr/CHANGES.txt Wed Oct 20 22:25:11 2010
@@ -238,6 +238,7 @@ New Features
* SOLR-2157 Suggester should return alpha-sorted results when onlyMorePopular=false (ab)
+* SOLR-2173 Suggester should always rebuild Lookup data if Lookup.load fails. (ab)
Optimizations
----------------------
Modified: lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/spelling/suggest/Suggester.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/spelling/suggest/Suggester.java?rev=1025783&r1=1025782&r2=1025783&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/spelling/suggest/Suggester.java (original)
+++ lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/spelling/suggest/Suggester.java Wed Oct 20 22:25:11 2010
@@ -130,20 +130,10 @@ public class Suggester extends SolrSpell
if (lookup.load(storeDir)) {
return; // loaded ok
}
+ LOG.debug("load failed, need to build Lookup again");
}
- // dictionary based on the current index may need refreshing
- if (dictionary instanceof HighFrequencyDictionary) {
- reader = reader.reopen();
- dictionary = new HighFrequencyDictionary(reader, field, threshold);
- try {
- lookup.build(dictionary);
- if (storeDir != null) {
- lookup.store(storeDir);
- }
- } catch (Exception e) {
- throw new IOException(e.toString());
- }
- }
+ // loading was unsuccessful - build it again
+ build(core, searcher);
}
public void add(String query, int numHits) {
Modified: lucene/dev/branches/branch_3x/solr/src/test/org/apache/solr/spelling/suggest/SuggesterTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/solr/src/test/org/apache/solr/spelling/suggest/SuggesterTest.java?rev=1025783&r1=1025782&r2=1025783&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/solr/src/test/org/apache/solr/spelling/suggest/SuggesterTest.java (original)
+++ lucene/dev/branches/branch_3x/solr/src/test/org/apache/solr/spelling/suggest/SuggesterTest.java Wed Oct 20 22:25:11 2010
@@ -66,6 +66,20 @@ public class SuggesterTest extends SolrT
"//lst[@name='spellcheck']/lst[@name='suggestions']/lst[@name='ac']/arr[@name='suggestion']/str[2][.='accommodate']"
);
}
+
+ @Test
+ public void testReload() throws Exception {
+ addDocs();
+ assertU(commit());
+ assertQ(req("qt","/suggest", "q","ac", SpellingParams.SPELLCHECK_COUNT, "2", SpellingParams.SPELLCHECK_ONLY_MORE_POPULAR, "true"),
+ "//lst[@name='spellcheck']/lst[@name='suggestions']/lst[@name='ac']/int[@name='numFound'][.='2']");
+ assertU(adoc("id", "4",
+ "text", "actually"
+ ));
+ assertU(commit());
+ assertQ(req("qt","/suggest", "q","ac", SpellingParams.SPELLCHECK_COUNT, "2", SpellingParams.SPELLCHECK_ONLY_MORE_POPULAR, "true"),
+ "//lst[@name='spellcheck']/lst[@name='suggestions']/lst[@name='ac']/int[@name='numFound'][.='2']");
+ }
private TermFreqIterator getTFIT() {