SolrJを使用しています。しかし、API ドキュメントでは、特定のクラスを使用してスペル チェッカーの応答を受け取る方法を理解できませんでした。チェックを実行するためにsolrconfig.xmlで定義された検索コンポーネントがあります
2194 次
1 に答える
10
SpellingResult
私が間違っていなければ、SolrJを使用してSolrサーバーにアクセスしているときに、クラスには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());
}
}
お役に立てれば。
于 2011-10-12T10:00:17.183 に答える