2011-06-24 148 views
4

我正在使用SolrJ。但是通過API文檔無法弄清楚如何使用特定的類來接收拼寫檢查器的響應。 我有solrconfig.xml中定義爲進行檢查如何在SolrJ中使用SpellingResult類

+0

「用實例解釋」......我更好地遵守之前,我被borg – dm76

+0

同化,只是知道如何使用它 –

+0

我明白你的意思!這只是一個粗魯/殘酷......難怪你還沒有得到很多答案 – dm76

回答

9

搜索組件也許你已經找到了解決辦法,反正SpellingResult類帶有Solr的,當你使用SolrJ訪問Solr的服務器,如果我沒有錯。所以,你應該使用SolrJ附帶的特定類; QueryResponse對象包含一個SpellCheckResponse對象,其中包含要查找的所有信息。

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()); 
    } 
} 

希望這會有所幫助。