Взятие суммы doc_count для ключевых отфильтрованных сегментов и получение разницы между двумя суммами - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь подсчитать оценку, используя агрегации Elasticsearch. В настоящее время я получаю диапазон для двух разных интервалов нажатия клавиш. Затем я делаю серию субагрегаций следующим образом:

const npsFilterQuery = queryHelper.createTermQuery('metric_type', npsTypes);
    const npsFilterAgg = aggregationHelper.createFilterAggregation('nps_filter', npsFilterQuery)
      .subAggregation(aggregationHelper.createTermsAggregation('nps_types', 'metric_type.raw', 5000))
        .subAggregation(aggregationHelper.createRangeAggregation('nps_value_buckets', 'value', true,
          [{ 'key': 'Detractors', 'from': 0, 'to': 7 }, { 'key': 'Promoters', 'from': 9, 'to': 11 }]))
            .subAggregation(aggregationHelper.createBucketSumAggregation('nps_bucket_sum', 'nps_value_buckets._count'))
              .subAggregation(aggregationHelper.createBucketSelectorAggregation('promoter_bucket', 'key', '_key', 'Promoters'))
                .subAggregation(aggregationHelper.createBucketSelectorAggregation('dectractor_bucket', 'key', '_key', 'Detractors'))
                  .subAggregation(aggregationHelper.createBucketSumAggregation('promoter_bucket_sum', 'promoter_bucket._count'))
                    .subAggregation(aggregationHelper.createBucketSumAggregation('detractor_bucket_sum', 'detractor_bucket._count'))
                      .subAggregation(aggregationHelper.createBucketPercentageScript('promoter_percent',
                      'nps_score>promoter_bucket_sum', 'nps_score>nps_bucket_sum'))
                        .subAggregation(aggregationHelper.createBucketPercentageScript('detractor_percent',
                        'nps_score>detractor_bucket_sum', 'nps_score>nps_bucket_sum'))
                          .subAggregation(aggregationHelper.createBucketDifferenceScript('nps_score', 'promoter_percent', 'detractor_percent'));

У меня возникают проблемы с возможностью вернуть только 'nps_score' из BucketDifferenceScript. У кого-нибудь есть понимание? Я могу предоставить более подробную информацию, если это необходимо.

...