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 に答える