diff --git a/src/components/Utils/queries.js b/src/components/Utils/queries.js index edf1d0ad..7cb4948b 100644 --- a/src/components/Utils/queries.js +++ b/src/components/Utils/queries.js @@ -75,6 +75,7 @@ const nestedHistogramQueryStrForEachField = (mainField, numericAggAsText) => (` } termsFields { field + count terms { key count diff --git a/src/server/es/__tests__/aggs.test.js b/src/server/es/__tests__/aggs.test.js index d8773f1f..f5041841 100644 --- a/src/server/es/__tests__/aggs.test.js +++ b/src/server/es/__tests__/aggs.test.js @@ -931,6 +931,7 @@ describe('could only aggregate to find missing fields (both existing and non-exi termsFields: [ { field: 'gender', + count: 41, terms: [ { key: 'male', @@ -948,6 +949,7 @@ describe('could only aggregate to find missing fields (both existing and non-exi }, { field: 'someNonExistingField', + count: 0, terms: [ { key: null, @@ -963,6 +965,7 @@ describe('could only aggregate to find missing fields (both existing and non-exi termsFields: [ { field: 'gender', + count: 35, terms: [ { key: 'male', @@ -980,6 +983,7 @@ describe('could only aggregate to find missing fields (both existing and non-exi }, { field: 'someNonExistingField', + count: 0, terms: [ { key: null, @@ -1027,6 +1031,7 @@ describe('could only aggregate to find missing fields (both existing and non-exi termsFields: [ { field: 'gender', + count: 41, terms: [ { key: 'male', @@ -1044,6 +1049,7 @@ describe('could only aggregate to find missing fields (both existing and non-exi }, { field: 'someNonExistingField', + count: 0, terms: [ { key: null, @@ -1069,6 +1075,7 @@ describe('could only aggregate to find missing fields (both existing and non-exi termsFields: [ { field: 'gender', + count: 35, terms: [ { key: 'male', @@ -1086,6 +1093,7 @@ describe('could only aggregate to find missing fields (both existing and non-exi }, { field: 'someNonExistingField', + count: 0, terms: [ { key: null, diff --git a/src/server/es/aggs.js b/src/server/es/aggs.js index d3e771ed..04794c57 100644 --- a/src/server/es/aggs.js +++ b/src/server/es/aggs.js @@ -57,6 +57,7 @@ const processResultsForNestedAgg = (nestedAggFields, item, resultObj) => { const tempResult = {}; tempResult.field = element; tempResult.terms = []; + tempResult.count = 0; const variableName = `${element}Terms`; if (item[variableName].buckets && item[variableName].buckets.length > 0) { item[variableName].buckets.forEach((itemElement) => { @@ -64,6 +65,7 @@ const processResultsForNestedAgg = (nestedAggFields, item, resultObj) => { key: itemElement.key, count: itemElement.doc_count, }); + tempResult.count += itemElement.doc_count; }); } else { tempResult.terms.push({ diff --git a/src/server/schema.js b/src/server/schema.js index b39e7473..b56d4708 100644 --- a/src/server/schema.js +++ b/src/server/schema.js @@ -336,6 +336,7 @@ export const buildSchemaString = (esConfig, esInstance) => { const nestedTermsFieldsBucketSchema = ` type BucketsForNestedTermsFields { field: String + count: Int terms: [BucketsForString] } `;