我正在尝试对文档进行分组,但我不明白如何进行组合查询。 例如:
<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,这样我就可以获得多个结果。但我仍然想知道是否有可能获得“名称”字段的列表。我想我需要在小组结果上刻名,但我不知道如何。
答案 0 :(得分:2)
如果您有Solr源代码
请参阅QueryResponseTest.java
JUnit和testGroupResponse()
方法
SOLR-2637从3.4开始应用。
同时查看补丁SOLR-2637.patch。