Solr查询如何读取分组值?

时间:2012-11-20 08:42:42

标签: java solr solrj

我正在尝试对文档进行分组,但我不明白如何进行组合查询。 例如:

<doc1>
<id>1</id>
<myid>1</myid>
<name>test</name>
</doc1>

<doc2>
<id>2</id>
<myid>1</myid>
<name>test2</name>
</doc2>

当我对myid进行分组时,我只得到1组结果。但我想知道如何获得该组名称的列表。

类似的东西:

<Response>
<doc>
<id>1,2</id>
<myid>1</myid>
<name>test1,test2</name>   //this
</doc>

我正在使用的查询:

        SolrQuery sq = new SolrQuery();
        sq.setQuery("*:*");
        sq.setStart(0);
        sq.setRows(100);
        sq.setParam("group", true);
        sq.setParam("group.field","myid");

我不知道如何阅读groupresponse以获取该分组项目的名称值?

我注意到有一个选项可以设置group.limit和group.offset,这样我就可以获得多个结果。但我仍然想知道是否有可能获得“名称”字段的列表。我想我需要在小组结果上刻名,但我不知道如何。

1 个答案:

答案 0 :(得分:2)

如果您有Solr源代码 请参阅QueryResponseTest.java JUnit和testGroupResponse()方法

SOLR-2637从3.4开始应用。

同时查看补丁SOLR-2637.patch