使用 Solr Suggester 从 solrj 获取结果的正确方法是什么?
这是我的要求:
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);
但是我发现很难得到回复。我得到回复的方式是这样的:
NamedList obj = (NamedList)((Map)response.getResponse().get("suggest")).get("mySuggester");
SimpleOrderedMap obj2 = (SimpleOrderedMap) obj.get("So");
List<SimpleOrderedMap> obj3 = (List<SimpleOrderedMap>) obj2.get("suggestions");
这似乎对我从响应中获得的对象进行了很多假设,并且很难预测错误。
还有比这更好、更干净的方法吗?
最佳答案
在新版本中有一个SuggesterResponse:
关于java - Solrj 与 Solr Suggester,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40021951/