Как получить отличные значения с помощью Olivere / Elasti c в Go - PullRequest
0 голосов
/ 16 апреля 2020
{
   "query" : {
        "match_all":{}
    },
    "aggs":{
        "geo": {
            "terms": {
                "field": "geoCurrent.keyword"
            }
        }
    }
}

Привет. Запрос выше, отправленный почтальоном, работает нормально. Мне нужно сделать этот запрос из golang, чтобы получить различные значения поля. Я нашел примеры, такие как:

// ec - elastic client
s := ec.Search().Index(dbName).Query(elastic.NewMatchAllQuery()).Type("_doc")
agg := elastic.NewTermsAggregation().Field("geoCurrent.keyword")
s = s.Aggregation("geo", agg)
s.Size(0)
r, err := s.Do(context.Background())
if nil != err {
    log.Println(err)
    return
}

resp, ok := r.Aggregations.Terms("geo")
if !ok {
    log.Println(ok)
    return
}

for _, res := range resp.Buckets {
    log.Println(res.Key)
}

Но соответственно. Bucket пуст. Что не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...