我一直试图弄清楚如何使用SolrJ处理自动提示结果。我在solrconfig.xml中配置了solr.SuggestComponent并通过Solr Admin查询工具获得了预期的结果。我的结果如下:
{
"responseHeader": {
"status": 0,
"QTime": 6
},
"suggest": {
"mySuggester": {
"re": {
"numFound": 10,
"suggestions": [
{
"term": "reviewed",
"weight": 2841,
"payload": ""
},
{
"term": "references",
"weight": 1880,
"payload": ""
},
{
"term": "related",
"weight": 1462,
"payload": ""
}]
}
}
}
}
我在Spring应用程序中使用SolrJ来发出Solr请求并处理响应。我将QueryResponse重新填充,但无法找出从QueryResponse对象中拉出“term”的方法,以便它们可以返回到jsp。有什么建议?我认为应该有一些相当简单的方法来提取这些结果,因为似乎有其他类型结果的内置方法,如搜索结果(docs),facet,highlighting,spellchecker等。我是Solr的新手可能会错过明显的解决方案。提前感谢您的帮助。
答案 0 :(得分:1)
我很确定你使用SpellCheckComponent作为你的建议(因为看这里 - https://wiki.apache.org/solr/Suggester)
所以,很明显你需要使用这种方法 - http://lucene.apache.org/solr/4_10_0/solr-solrj/org/apache/solr/client/solrj/response/QueryResponse.html#getSpellCheckResponse()
希望它有所帮助。