How to use SpellingResult class in SolrJ
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.
精彩评论