Как использовать класс SpellingResult в SolrJ - PullRequest
4 голосов
/ 24 июня 2011

Я использую SolrJ.Но с помощью документации API не удалось выяснить, как использовать определенный класс для получения ответа от средства проверки орфографии.у меня есть поисковый компонент, определенный в solrconfig.xml для выполнения проверки

1 Ответ

9 голосов
/ 12 октября 2011

Возможно, вы уже нашли решение, в любом случае класс 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());
    }
}

Надеюсь, это поможет.

...