3

在我的 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 做到这一点?

4

1 回答 1

0

您可以使用字段折叠功能,它可以帮助您对结果进行分组。
如果您在 post_id 上分组,您将能够根据帖子 id 获得结果。
您将获得每个帖子 ID ( numFound) 的计数,这将为您提供3 records部分。
您可以按日期 desc 对组内的结果进行排序并返回单个结果 ( group.limit=1),这将为您提供最后日期。
您可以reason从记录中获取。

于 2013-09-12T11:09:20.447 回答