如何在 SolrJ 中使用 SpellingResult 类

发布于 2024-11-16 21:28:10 字数 86 浏览 4 评论 0原文

我正在使用 SolrJ。但通过API文档无法弄清楚如何使用特定的类来接收拼写检查器的响应。 我在 solrconfig.xml 中定义了一个搜索组件来执行检查

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

筱果果 2024-11-23 21:28:10

也许您已经找到了解决方案,无论如何,当您使用 SolrJ 访问 Solr 服务器时,SpellingResult 类随 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());
    }
}

希望这有帮助。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文