【问题标题】:Select distinct Cloudsearch AWS选择不同的 Cloudsearch AWS
【发布时间】:2016-04-06 04:10:46
【问题描述】:

现在我在 CloudSearch 上提出这个请求:

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

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

【问题讨论】:

  • 您能否添加一个示例,说明您想要什么与您得到什么?我有点不清楚你在找什么。

标签: amazon-web-services amazon-cloudsearch


【解决方案1】:

对于这个示例数组:

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!

【讨论】:

  • 您可以根据需要指定任意数量的方面。只需添加&facet.company_name={},您也会得到相应的计数。
  • 我从您的解决方案中看到了您现在想要的。发布所需结果的示例可以使问题更容易理解。感谢您跟进您找到的解决方案。不过我不得不说,如果从 nameid 存在 1:1 的关系,并且您将它们一起返回以避免必须在数据存储中查找它们,那么您就没有将 CloudSearch 用于其预期目的(即,作为搜索引擎而不是数据存储)。也许这对你来说没问题,但我会谨慎这样做。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-17
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
相关资源
最近更新 更多