在我的solr文档中,文档数据如下:
{
"createTime":"2013-09-10",
"reason":"reason1",
"postId":"postId_1",
"_version_":1445959401549594624 },
{
"createTime":"2013-09-11",
"reason":"reason2",
"postId":"postId_1",
"_version_":1445959401549594624 },
{
"createTime":"2013-09-12",
"reason":"reason3",
"postId":"postId_1",
"_version_":1445959401549594624 },
{
"createTime":"2013-09-13",
"reason":"reason4",
"postId":"postId_2",
"_version_":1445959401549594624 },<script>alert("1")</script>
现在我需要使用solr facetQuery来选择这样的数据:
1. postId1, 3 records, the last createTime is "2013-09-12"
2. postId2, 1 record, the last createTime is "2013-09-13", reason is reason4
如何使用solr facetQuery做到这一点?
答案 0 :(得分:0)
您可以使用Field Collapsing功能,这可以帮助您对结果进行分组
如果您对post_id进行分组,则可以根据帖子ID获取结果
您将获得每个帖子ID(numFound
)的计数,这将为您提供3 records
部分。
您可以按日期desc在组内订购结果,并返回单个结果(group.limit=1
),这将给您最后的日期。
您可以从记录中选择reason
。