选择不同的Cloudsearch AWS

时间:2016-03-31 08:00:35

标签: amazon-web-services amazon-cloudsearch

现在我正在CloudSearch上执行此请求:

aws cloudsearchdomain --endpoint-url myUrl search --search-query France --query-options "{'fields':['country']}" --return name

我想只获得不同的名字,但我得到了id的名字。 有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

对于此示例数组:

country | city | company_name | company_id | product_name | product_id 
US      | NY   | C1N          | C1id       | P1N          | P1id
US      | NY   | C1N          | C1id       | P2N          | P2id
US      | NY   | C2N          | C2id       | P1N          | P1id

我希望在纽约获得所有不同的company_name和company_id

我执行此请求:URL/search?q=NY&facet.company_id={sort:'count'}&q.options={"defaultOperator":"and","fields":["city"],"operators":["and","or"]}&return=_all_fields

我得到了不同的company_id,但我找不到同时获取company_name而无需另外请求的方法

    {
    "status": {
        "rid": "lKzEiL0qCwok24g=",
        "time-ms": 93
    },
    "hits": {
        "found": 2,
        "start": 0,
        "hit": [{
            "id": "369998744556855594878962245"
        }, {
            "id": "3699987477777545245"
        }]
    },
    "facets": {
        "company_id": {
            "buckets": [{
                "value": "C1id",
                "count": 2
            }, {
                "value": "C2id",
                "count": 1
            }]
        }
    }
}

编辑:解决方案

我找到了一个解决方案:我将原始json数据存储在一个新列中: json_company = {\"id\":\"C1id\",\"name\":\"C1N\"}和我的请求:&facet.json_company ={}

我的结果:

"facets": {
    "json_company": {
        "buckets": [{
            "value": "{\"id\":\"C1id\",\"name\":\"C1N\"}",
            "count": 2
        }, {
            "value": "{\"id\":\"C2id\",\"name\":\"C2N\"}",
            "count": 1
        }]
    } 

我在Lambda函数中解析JSON!