I'm using SolrJ. But through the API documentation could not figure out how to use the particular class to receive the response of the spell checker. i have a search component defined in solrconfig.xml for performing the checking
Maybe you already found the solution, anyway the SpellingResult
class comes with Solr, while you're using SolrJ to access a Solr server, if I'm not wrong. So, you should use the specific classes that come with SolrJ; the QueryResponse
object contains a SpellCheckResponse
object with all the information you're looking for.
SolrServer solr = new CommonsHttpSolrServer("http://localhost:8080/solr");
ModifiableSolrParams params = new ModifiableSolrParams();
params.set("qt", "/spell");
params.set("q", "whatever");
params.set("spellcheck", "on");
//params.set("spellcheck.build", "true");
QueryResponse response = solr.query(params);
SpellCheckResponse spellCheckResponse = response.getSpellCheckResponse();
if (!spellCheckResponse.isCorrectlySpelled()) {
for (Suggestion suggestion : response.getSpellCheckResponse().getSuggestions()) {
logger.debug("original token: " + suggestion.getToken() + " - alternatives: " + suggestion.getAlternatives());
}
}
Hope this helps.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With