Перебирать объекты для ответа агрегации Elasticsearch? - PullRequest
0 голосов
/ 21 января 2020

имеют следующий набор для функции, возвращающей запрос и агрегацию Elasticsearch:

const searchDoc = async function(indexName, mappingType, payload){
    return await es.search({
        index: indexName,
        type: mappingType,
        body: payload
    });
}

module.exports = searchDoc;

async function performESConvo(){
    const body = {

        "query": {
            "bool": {
            "must": [
                { "match": { "InternalEntityId": sampleInternalEntityIDval }},
                { "match": { "Direction": sampleDirection }}
            ]
            }
        },
        "sort": [
            {
            "DateCreated": {
                "order": "desc"
            }
            }
        ],
        "aggs": {
            "extadd": {
                "terms": {
                    "field": sampleAggregationField
                },
                "aggs": {
                    "top_date": {
                        "top_hits": {
                            "sort": [
                                {
                                    "DateCreated": {
                                        "order": "desc"
                                    }
                                }
                            ],
                            "size": 1
                        }
                    }
                }
            }
        }
    }
    try {
        const resp = await searchDoc('chub-index', '_doc', body);
        var objreturn = JSON.stringify(resp.aggregations.extadd.buckets);
        console.log(JSON.parse(objreturn))
    } catch (e) {
        console.log(e);
    }
}

exports.performESConvo = performESConvo;

performESConvo();

Результаты:

[ { key: 'bobbi@bob.com',
    doc_count: 1,
    top_date: { hits: [Object] } },
  { key: 'bobby@goodtimes.com',
    doc_count: 1,
    top_date: { hits: [Object] } },
  { key: 'rita@bill.com',
    doc_count: 1,
    top_date: { hits: [Object] } } ]

Как мы возвращаемся с каждым [Object] ' с _source (за ведро)? Итерация? Карта

...