You'll need to install the SpellCheckComponent
in the standard request handler in order to use this.
Next, a spellcheck dictionary must be provided. Normally a default dictionary is created by invoking BuildSpellCheckDictionary()
at commit/optimize time (you can also configure Solr to automatically rebuild spellchecking indices):
ISolrOperations<Product> solr = ...
solr.BuildSpellCheckDictionary();
Now you can start issuing spellchecking queries by defining the SpellCheck
parameter in the QueryOptions
:
ISolrOperations<Product> solr = ...
var results = solr.Query("ipo appl", new QueryOptions {
SpellCheck = new SpellCheckingParameters {Collate = true}
});
Then you get the suggestions from results.SpellChecking
, i.e.:
foreach (var sc in results.SpellChecking) {
Console.WriteLine("Query: {0}", sc.Query);
foreach (var s in sc.Suggestions) {
Console.WriteLine("Suggestion: {0}", s);
}
}
which would print something like:
Query: ipo
Suggestion: ipod
Query: appl
Suggestion: apple
All of the SpellCheckComponent parameters are supported, except for the extendedResults
option.