Выберите отдельный Cloudsearch AWS

Сейчас я делаю этот запрос на CloudSearch:

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

Я хочу получить только разные имена, но я получаю имена с идентификатором. Есть способ сделать это?

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

Я хочу получить все разные названия компании и названия компании в Нью-Йорке

Я делаю эту просьбу: URL/search?q=NY&facet.company_id={sort:'count'}&q.options={"defaultOperator":"and","fields":["city"],"operators":["and","or"]}&return=_all_fields

Я получаю отчетливый company_id, но не могу найти одновременно название компании без повторного запроса

    {
    "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
        }]
    } 

Я анализирую JSON в моей функции Lambda!

Другие вопросы по тегам