如何过滤 CloudSearch:AWS 中的不同数据?

How to filter distinct data in CloudSearch:AWS?

我在 aws cloudsearch 中有一个查询。我做了以下事情

1) 创建域

2) 上传数据并创建索引

我有这样的数据字段:user_id, user_name, user_details,等等

我的 objective 是获取特定字段的 grouped/distinct 数据及其总计数。在 Cloudsearch 中 Group by / Distinct 不支持关键字。因此,我浏览了 cloudsearch 文档并通过在我的查询字符串中添加 facet.user_id={} 来完成。

但我需要 user_name 现场数据以及 user_id 和计数。** 请更新我这方面的信息。

这是我的完整查询: ?q="Tamil Selvan"&facet.user_id={}


这是我的查询结果:

{
    "status": {
        "rid": "isTcmOYp+AEKhpbc",
        "time-ms": 6
    },
    "hits": {
        "found": 986,
        "start": 0,
        "hit": []
    },
    "facets": {
        "user_id": {
            "buckets": [{
                "value": "5",
                "count": 213
            }, {
                "value": "182",
                "count": 197
            }]
        }
    }
}


我的预期结果:

{
    "status": {
        "rid": "isTcmOYp+AEKhpbc",
        "time-ms": 6
    },
    "hits": {
        "found": 986,
        "start": 0,
        "hit": []
    },
    "facets": {
        "user_id": {
            "buckets": [{
                "value": "5",
                "user_name":"Tamil Selvan",
                "count": 213
            }, {
                "value": "182",
                "user_name":"Tamil Selvi",
                "count": 197
            }]
        }
    }
}

正确的解决方案是从您的数据存储中查找 user_namesuser_id 构面值(CloudSearch 不是,或者至少不应该是)。

CloudSearch 是一种搜索解决方案;您不应该试图询问哪个 user_name 属于某些 user_id,因为这是您的数据存储的问题。