Solr与索尔建议者 [英] Solrj with Solr Suggester

查看:105
本文介绍了Solr与索尔建议者的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用Solr Suggester从solrj获取结果的正确方法是什么?

What is the correct way of getting results from solrj using Solr Suggester?

这是我的要求:

SolrQuery query = new SolrQuery();
query.setRequestHandler("/suggest");
query.setParam("suggest", "true");
query.setParam("suggest.build", "true");
query.setParam("suggest.dictionary", "mySuggester");
query.setParam("suggest.q", "So");
QueryResponse response = server.query(query);

但是我发现得到回复非常困难。我得到答案的方式是:

However I found it extremely difficult to get the response. The way I got the response is with this:

NamedList obj = (NamedList)((Map)response.getResponse().get("suggest")).get("mySuggester");
SimpleOrderedMap obj2 = (SimpleOrderedMap) obj.get("So");
List<SimpleOrderedMap> obj3 = (List<SimpleOrderedMap>) obj2.get("suggestions");

这似乎假设我从响应中得到的对象很多,很难预料到错误。

This seems to assume a lot about the objects I am getting from the response and will be difficult to anticipate errors.

有比这更好更清洁的方式吗?

Is there a better and cleaner way than this?

推荐答案

在新版本中有一个SuggesterResponse:

In new versions have a SuggesterResponse:

https://lucene.apache.org/solr/5_3_1/solr-solrj/org/apache/solr/client/solrj/response/SuggesterResponse .html

这篇关于Solr与索尔建议者的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆