Author: gsingers
Date: Fri Jun 27 05:35:36 2008
New Revision: 672257
URL: http://svn.apache.org/viewvc?rev=672257&view=rev
Log:
SOLR-609: SpellCheckComps now honors defaults
Modified:
lucene/solr/trunk/CHANGES.txt
lucene/solr/trunk/src/java/org/apache/solr/handler/component/SpellCheckComponent.java
Modified: lucene/solr/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/lucene/solr/trunk/CHANGES.txt?rev=672257&r1=672256&r2=672257&view=diff
==============================================================================
--- lucene/solr/trunk/CHANGES.txt (original)
+++ lucene/solr/trunk/CHANGES.txt Fri Jun 27 05:35:36 2008
@@ -446,6 +446,8 @@
37. SOLR-604: If the spellchecking path is relative, make it relative to the
Solr Data Directory. (Shalin Shekhar Mangar via gsingers)
+38. SOLR-609: SpellCheckComponent now honors defaults. (Shalin Shekhar Mangar
via gsingers)
+
Other Changes
1. SOLR-135: Moved common classes to org.apache.solr.common and altered the
build scripts to make two jars: apache-solr-1.3.jar and
Modified:
lucene/solr/trunk/src/java/org/apache/solr/handler/component/SpellCheckComponent.java
URL:
http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/component/SpellCheckComponent.java?rev=672257&r1=672256&r2=672257&view=diff
==============================================================================
---
lucene/solr/trunk/src/java/org/apache/solr/handler/component/SpellCheckComponent.java
(original)
+++
lucene/solr/trunk/src/java/org/apache/solr/handler/component/SpellCheckComponent.java
Fri Jun 27 05:35:36 2008
@@ -135,6 +135,9 @@
@SuppressWarnings("unchecked")
protected NamedList initParams;
+
+ @SuppressWarnings("unchecked")
+ protected SolrParams defaults;
/**
* Key is the dictionary, value is the SpellChecker for that dictionary name
@@ -148,6 +151,12 @@
public void init(NamedList args) {
super.init(args);
this.initParams = args;
+ if (args != null) {
+ Object o = args.get("defaults");
+ if (o != null && o instanceof NamedList) {
+ defaults = SolrParams.toSolrParams((NamedList)o);
+ }
+ }
}
@Override
@@ -187,24 +196,28 @@
}
if (tokens != null && tokens.isEmpty() == false) {
if (spellChecker != null) {
- int count = params.getInt(SPELLCHECK_COUNT, 1);
+ int count = params.getInt(SPELLCHECK_COUNT, defaults.getInt(
+ SPELLCHECK_COUNT, 1));
boolean onlyMorePopular = params.getBool(SPELLCHECK_ONLY_MORE_POPULAR,
- DEFAULT_ONLY_MORE_POPULAR);
+ defaults.getBool(SPELLCHECK_ONLY_MORE_POPULAR,
+ DEFAULT_ONLY_MORE_POPULAR));
boolean extendedResults = params.getBool(SPELLCHECK_EXTENDED_RESULTS,
- false);
+ defaults.getBool(SPELLCHECK_EXTENDED_RESULTS, false));
NamedList response = new SimpleOrderedMap();
IndexReader reader = rb.req.getSearcher().getReader();
- boolean collate = params.getBool(SPELLCHECK_COLLATE, false);
- SpellingResult spellingResult = spellChecker.getSuggestions(tokens,
reader, count, onlyMorePopular,
- extendedResults);
+ boolean collate = params.getBool(SPELLCHECK_COLLATE, defaults.getBool(
+ SPELLCHECK_COLLATE, false));
+ SpellingResult spellingResult = spellChecker.getSuggestions(tokens,
+ reader, count, onlyMorePopular, extendedResults);
if (spellingResult != null) {
- response.add("suggestions", toNamedList(spellingResult, q,
extendedResults, collate));
+ response.add("suggestions", toNamedList(spellingResult, q,
+ extendedResults, collate));
rb.rsp.add("spellcheck", response);
}
} else {
throw new SolrException(SolrException.ErrorCode.NOT_FOUND,
- "Specified dictionary does not exist.");
+ "Specified dictionary does not exist.");
}
}
}