1

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

<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 的选项可以让我获得多个结果。但我仍然想知道是否有可能获得“名称”字段的列表。我想我需要在小组结果中显示名称,但我不知道如何。

4

1 回答 1

2

如果你有 Solr 源代码 参考QueryResponseTest.javaJUnit 和testGroupResponse()方法

SOLR-2637从 3.4 开始应用。

还请查看补丁SOLR-2637.patch

于 2012-11-20T08:58:42.413 回答