1

我正在尝试将 solrj 用于我的应用程序,我的代码如下所示,

        query.add("q", "simplify360");
        query.add("facet", "true");
        query.add("facet.range", "createdOnGMTDate");
        query.add("facet.range.start", "2010-08-01T00:00:00Z+330MINUTES");
        query.add("facet.range.end", "2011-05-31T00:00:00Z+330MINUTES");
        query.add("facet.range.gap", "+1DAY");
        //query.add("wt","json");
        //query.add("wt.mime-type","application/json");


        System.err.println(query.toString());

代码执行良好,当我在 solr 服务器上执行 url 时,我得到以下分面结果,

        <lst name="facet_counts"><lst name="facet_queries"/>
        <lst name="facet_fields"/>
        <lst name="facet_dates"/>
        <lst name="facet_ranges">
        <lst name="createdOnGMTDate">
        <lst name="counts">
        <int name="2010-01-01T00:00:00Z">0</int>
        <int name="2010-01-02T00:00:00Z">0</int>
        <int name="2010-01-03T00:00:00Z">0</int>
        <int name="2010-01-04T00:00:00Z">0</int>
        <int name="2010-01-05T00:00:00Z">0</int>
        <int name="2010-01-06T00:00:00Z">0</int
        </lst>
        <str name="gap">+1DAY</str>
        <date name="start">2010-01-01T00:00:00Z</date>
        <date name="end">2011-05-31T00:00:00Z</date>
        </lst>
        </lst>
        </lst>
        </response>

1)我如何在java中检索这些值,

2)另外,如果有的话我可以将json响应转换为json java对象

问候,

罗希特

4

1 回答 1

1

使用 SOLRJ API,您可以使用以下代码:

QueryResponse rsp = server.query(query); // you issue the query and get resuls
Map<String, Integer> fq = rsp.getFacetQuery(); // this returns facetQuery part of response

希望这可以帮助 ...

于 2011-05-11T06:30:52.093 回答