Class SpellCheckComponent
- java.lang.Object
-
- org.apache.solr.handler.component.SearchComponent
-
- org.apache.solr.handler.component.SpellCheckComponent
-
- All Implemented Interfaces:
AutoCloseable
,org.apache.solr.common.params.SpellingParams
,SolrInfoBean
,SolrMetricProducer
,NamedListInitializedPlugin
,SolrCoreAware
public class SpellCheckComponent extends SearchComponent implements SolrCoreAware, org.apache.solr.common.params.SpellingParams
A SearchComponent implementation which provides support for spell checking and suggestions using the Lucene contributed SpellChecker.Refer to https://solr.apache.org/guide/solr/latest/query-guide/spell-checking.html for more details
- Since:
- solr 1.3
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.solr.core.SolrInfoBean
SolrInfoBean.Category, SolrInfoBean.Group
-
-
Field Summary
Fields Modifier and Type Field Description static String
COMPONENT_NAME
Base name for all spell checker query parameters.static boolean
DEFAULT_ONLY_MORE_POPULAR
protected org.apache.solr.common.util.NamedList<?>
initParams
protected QueryConverter
queryConverter
protected Map<String,SolrSpellChecker>
spellCheckers
Key is the dictionary, value is the SpellChecker for that dictionary name-
Fields inherited from class org.apache.solr.handler.component.SearchComponent
solrMetricsContext, standard_components
-
Fields inherited from interface org.apache.solr.common.params.SpellingParams
SPELLCHECK_ACCURACY, SPELLCHECK_ALTERNATIVE_TERM_COUNT, SPELLCHECK_BUILD, SPELLCHECK_COLLATE, SPELLCHECK_COLLATE_EXTENDED_RESULTS, SPELLCHECK_COLLATE_MAX_COLLECT_DOCS, SPELLCHECK_COLLATE_PARAM_OVERRIDE, SPELLCHECK_COUNT, SPELLCHECK_DICT, SPELLCHECK_EXTENDED_RESULTS, SPELLCHECK_MAX_COLLATION_EVALUATIONS, SPELLCHECK_MAX_COLLATION_TRIES, SPELLCHECK_MAX_COLLATIONS, SPELLCHECK_MAX_RESULTS_FOR_SUGGEST, SPELLCHECK_MAX_RESULTS_FOR_SUGGEST_FQ, SPELLCHECK_ONLY_MORE_POPULAR, SPELLCHECK_PREFIX, SPELLCHECK_Q, SPELLCHECK_RELOAD
-
-
Constructor Summary
Constructors Constructor Description SpellCheckComponent()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addCollationsToResponse(org.apache.solr.common.params.SolrParams params, SpellingResult spellingResult, ResponseBuilder rb, String q, org.apache.solr.common.util.NamedList<Object> response, boolean suggestionsMayOverlap)
void
finishStage(ResponseBuilder rb)
Called after all responses have been received for this stage.SolrInfoBean.Category
getCategory()
Category of this componentprotected org.apache.solr.common.params.SolrParams
getCustomParams(String dictionary, org.apache.solr.common.params.SolrParams params)
For every param that is of the form "spellcheck.[dictionary name].XXXX=YYYY, add XXXX=YYYY as a param to the custom param listString
getDescription()
Simple one or two line descriptionSolrSpellChecker
getSpellChecker(String name)
protected SolrSpellChecker
getSpellChecker(org.apache.solr.common.params.SolrParams params)
Map<String,SolrSpellChecker>
getSpellCheckers()
void
inform(SolrCore core)
void
init(org.apache.solr.common.util.NamedList<?> args)
init
will be called just once, immediately after creation.void
modifyRequest(ResponseBuilder rb, SearchComponent who, ShardRequest sreq)
Called after another component adds a requestvoid
prepare(ResponseBuilder rb)
Prepare the response.void
process(ResponseBuilder rb)
Process the request for this componentprotected org.apache.solr.common.util.NamedList<Object>
toNamedList(boolean shardRequest, SpellingResult spellingResult, String origQuery, boolean extendedResults)
-
Methods inherited from class org.apache.solr.handler.component.SearchComponent
distributedProcess, getName, getSolrMetricsContext, handleResponses, initializeMetrics, setName
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.solr.metrics.SolrMetricProducer
close
-
-
-
-
Field Detail
-
DEFAULT_ONLY_MORE_POPULAR
public static final boolean DEFAULT_ONLY_MORE_POPULAR
- See Also:
- Constant Field Values
-
COMPONENT_NAME
public static final String COMPONENT_NAME
Base name for all spell checker query parameters. This name is also used to register this component with SearchHandler.- See Also:
- Constant Field Values
-
initParams
protected org.apache.solr.common.util.NamedList<?> initParams
-
spellCheckers
protected Map<String,SolrSpellChecker> spellCheckers
Key is the dictionary, value is the SpellChecker for that dictionary name
-
queryConverter
protected QueryConverter queryConverter
-
-
Method Detail
-
init
public void init(org.apache.solr.common.util.NamedList<?> args)
Description copied from interface:NamedListInitializedPlugin
init
will be called just once, immediately after creation.Source of the initialization arguments will typically be solrconfig.xml, but will ultimately depends on the plugin itself
- Specified by:
init
in interfaceNamedListInitializedPlugin
- Parameters:
args
- non-null list of initialization parameters (may be empty)
-
prepare
public void prepare(ResponseBuilder rb) throws IOException
Description copied from class:SearchComponent
Prepare the response. Guaranteed to be called before any SearchComponentSearchComponent.process(org.apache.solr.handler.component.ResponseBuilder)
method. Called for every incoming request.The place to do initialization that is request dependent.
- Specified by:
prepare
in classSearchComponent
- Parameters:
rb
- TheResponseBuilder
- Throws:
IOException
- If there is a low-level I/O error.
-
process
public void process(ResponseBuilder rb) throws IOException
Description copied from class:SearchComponent
Process the request for this component- Specified by:
process
in classSearchComponent
- Parameters:
rb
- TheResponseBuilder
- Throws:
IOException
- If there is a low-level I/O error.
-
addCollationsToResponse
protected void addCollationsToResponse(org.apache.solr.common.params.SolrParams params, SpellingResult spellingResult, ResponseBuilder rb, String q, org.apache.solr.common.util.NamedList<Object> response, boolean suggestionsMayOverlap)
-
getCustomParams
protected org.apache.solr.common.params.SolrParams getCustomParams(String dictionary, org.apache.solr.common.params.SolrParams params)
For every param that is of the form "spellcheck.[dictionary name].XXXX=YYYY, add XXXX=YYYY as a param to the custom param list- Parameters:
params
- The original SolrParams- Returns:
- The new Params
-
modifyRequest
public void modifyRequest(ResponseBuilder rb, SearchComponent who, ShardRequest sreq)
Description copied from class:SearchComponent
Called after another component adds a request- Overrides:
modifyRequest
in classSearchComponent
-
finishStage
public void finishStage(ResponseBuilder rb)
Description copied from class:SearchComponent
Called after all responses have been received for this stage. Useful when different requests are sent to each shard.- Overrides:
finishStage
in classSearchComponent
-
getSpellChecker
protected SolrSpellChecker getSpellChecker(org.apache.solr.common.params.SolrParams params)
-
getSpellChecker
public SolrSpellChecker getSpellChecker(String name)
- Returns:
- the spellchecker registered to a given name
-
toNamedList
protected org.apache.solr.common.util.NamedList<Object> toNamedList(boolean shardRequest, SpellingResult spellingResult, String origQuery, boolean extendedResults)
-
inform
public void inform(SolrCore core)
- Specified by:
inform
in interfaceSolrCoreAware
-
getSpellCheckers
public Map<String,SolrSpellChecker> getSpellCheckers()
-
getDescription
public String getDescription()
Description copied from interface:SolrInfoBean
Simple one or two line description- Specified by:
getDescription
in interfaceSolrInfoBean
- Specified by:
getDescription
in classSearchComponent
-
getCategory
public SolrInfoBean.Category getCategory()
Description copied from interface:SolrInfoBean
Category of this component- Specified by:
getCategory
in interfaceSolrInfoBean
- Overrides:
getCategory
in classSearchComponent
-
-