使用SolrJ读取solr.SuggestComponent结果

时间:2014-09-23 13:30:37

标签: solr solrj autosuggest

我一直试图弄清楚如何使用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的新手可能会错过明显的解决方案。提前感谢您的帮助。

1 个答案:

答案 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()

希望它有所帮助。