Skip to content

Commit 8edee3f

Browse files
committed
feat(FieldNames): Add avaliable fieldNames in Aggs according to mapping
1 parent fce78b4 commit 8edee3f

30 files changed

+200
-70
lines changed

src/ElasticDSL/Aggs/AggBlock.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@ import { getAggRulesITC } from './AggRules';
66

77
export function getAggBlockITC(opts: mixed = {}): InputTypeComposer {
88
const name = getTypeName('AggBlock', opts);
9-
const description = desc(`
9+
const description = desc(
10+
`
1011
The aggregations framework helps provide aggregated data based on
1112
a search query. It is based on simple building blocks called aggregations,
1213
that can be composed in order to build complex summaries of the data.
1314
[Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.html)
14-
`);
15+
`
16+
);
1517

1618
return getOrSetType(name, () =>
1719
// $FlowFixMe
@@ -28,6 +30,5 @@ export function getAggBlockITC(opts: mixed = {}): InputTypeComposer {
2830
description: 'Aggregation rules',
2931
},
3032
},
31-
})
32-
);
33+
}));
3334
}

src/ElasticDSL/Aggs/Bucket/DateHistogram.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
getDateFormatFC,
99
getDateTimeZoneFC,
1010
} from '../../Commons/Date';
11+
import { getDateFields } from '../../Commons/FieldNames';
1112

1213
export function getDateHistogramITC(opts: mixed = {}): InputTypeComposer {
1314
const name = getTypeName('AggsDateHistogram', opts);
@@ -25,12 +26,12 @@ export function getDateHistogramITC(opts: mixed = {}): InputTypeComposer {
2526
name,
2627
description,
2728
fields: {
28-
field: 'String',
29+
field: getDateFields(opts),
2930
interval: getDateIntervalFC(opts),
3031
time_zone: getDateTimeZoneFC(opts),
3132
offset: getDateIntervalFC(opts),
3233
format: getDateFormatFC(opts),
33-
missing: 'Float',
34+
missing: 'String',
3435
script: () => getCommonsScriptITC(opts),
3536
},
3637
}));

src/ElasticDSL/Aggs/Bucket/DateRange.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import { InputTypeComposer } from 'graphql-compose';
44
import { getTypeName, getOrSetType, desc } from '../../../utils';
55
import { getDateFormatFC, getDateTimeZoneFC } from '../../Commons/Date';
6+
import { getDateFields } from '../../Commons/FieldNames';
67

78
export function getDateRangeITC(opts: mixed = {}): InputTypeComposer {
89
const name = getTypeName('AggsDateRange', opts);
@@ -24,7 +25,7 @@ export function getDateRangeITC(opts: mixed = {}): InputTypeComposer {
2425
name,
2526
description,
2627
fields: {
27-
field: 'String',
28+
field: getDateFields(opts),
2829
format: getDateFormatFC(opts),
2930
ranges: () => [getDateRangeITC(opts)],
3031
time_zone: getDateTimeZoneFC(opts),

src/ElasticDSL/Aggs/Bucket/DiversifiedSampler.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import { InputTypeComposer } from 'graphql-compose';
44
import { getTypeName, getOrSetType, desc } from '../../../utils';
55
import { getCommonsScriptITC } from '../../Commons/Script';
6+
import { getAllFields } from '../../Commons/FieldNames';
67

78
export function getDiversifiedSamplerITC(opts: mixed = {}): InputTypeComposer {
89
const name = getTypeName('AggsDiversifiedSampler', opts);
@@ -25,7 +26,7 @@ export function getDiversifiedSamplerITC(opts: mixed = {}): InputTypeComposer {
2526
type: 'String',
2627
defaultValue: 100,
2728
},
28-
field: 'String',
29+
field: getAllFields(opts),
2930
max_docs_per_value: 'Int',
3031
script: () => getCommonsScriptITC(opts),
3132
execution_hint: 'String',

src/ElasticDSL/Aggs/Bucket/GeoDistance.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
getDistanceCalculationModeFC,
99
} from '../../Commons/Geo';
1010
import { getFloatRangeITC } from '../../Commons/Float';
11+
import { getGeoPointFields } from '../../Commons/FieldNames';
1112

1213
export function getGeoDistanceITC(opts: mixed = {}): InputTypeComposer {
1314
const name = getTypeName('AggsGeoDistance', opts);
@@ -27,7 +28,7 @@ export function getGeoDistanceITC(opts: mixed = {}): InputTypeComposer {
2728
name,
2829
description,
2930
fields: {
30-
field: 'String',
31+
field: getGeoPointFields(opts),
3132
origin: getGeoPointFC(opts),
3233
ranges: [getFloatRangeITC(opts)],
3334
unit: getDistanceUnitFC(opts),

src/ElasticDSL/Aggs/Bucket/GeohashGrid.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import { InputTypeComposer } from 'graphql-compose';
44
import { getTypeName, getOrSetType, desc } from '../../../utils';
5+
import { getGeoPointFields } from '../../Commons/FieldNames';
56

67
export function getGeohashGridITC(opts: mixed = {}): InputTypeComposer {
78
const name = getTypeName('AggsGeohashGrid', opts);
@@ -21,7 +22,7 @@ export function getGeohashGridITC(opts: mixed = {}): InputTypeComposer {
2122
name,
2223
description,
2324
fields: {
24-
field: 'String',
25+
field: getGeoPointFields(opts),
2526
precision: 'Int',
2627
size: {
2728
type: 'Int',

src/ElasticDSL/Aggs/Bucket/Global.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export function getGlobalITC(opts: mixed = {}): InputTypeComposer {
2121
name,
2222
description,
2323
fields: {
24-
without_fields: 'JSON',
24+
_without_fields_: 'JSON',
2525
},
2626
}));
2727
}

src/ElasticDSL/Aggs/Bucket/Histogram.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import { InputTypeComposer } from 'graphql-compose';
44
import { getTypeName, getOrSetType, desc } from '../../../utils';
5+
import { getNumericFields } from '../../Commons/FieldNames';
56

67
export function getHistogramITC(opts: mixed = {}): InputTypeComposer {
78
const name = getTypeName('AggsHistogram', opts);
@@ -20,7 +21,7 @@ export function getHistogramITC(opts: mixed = {}): InputTypeComposer {
2021
name,
2122
description,
2223
fields: {
23-
field: 'String',
24+
field: getNumericFields(opts),
2425
interval: 'Float',
2526
missing: 'Float',
2627
min_doc_count: 'Int',

src/ElasticDSL/Aggs/Bucket/IpRange.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import { InputTypeComposer } from 'graphql-compose';
44
import { getTypeName, getOrSetType, desc } from '../../../utils';
55
import { getIpRangeTypeITC } from '../../Commons/Ip';
6+
import { getIpFields } from '../../Commons/FieldNames';
67

78
export function getIpRangeITC(opts: mixed = {}): InputTypeComposer {
89
const name = getTypeName('AggsIpRange', opts);
@@ -21,7 +22,7 @@ export function getIpRangeITC(opts: mixed = {}): InputTypeComposer {
2122
name,
2223
description,
2324
fields: {
24-
field: 'String',
25+
field: getIpFields(opts),
2526
ranges: () => [getIpRangeTypeITC(opts)],
2627
},
2728
}));

src/ElasticDSL/Aggs/Bucket/Missing.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import { InputTypeComposer } from 'graphql-compose';
44
import { getTypeName, getOrSetType, desc } from '../../../utils';
5+
import { getAllFields } from '../../Commons/FieldNames';
56

67
export function getMissingITC(opts: mixed = {}): InputTypeComposer {
78
const name = getTypeName('AggsMissing', opts);
@@ -20,7 +21,7 @@ export function getMissingITC(opts: mixed = {}): InputTypeComposer {
2021
name,
2122
description,
2223
fields: {
23-
field: 'String',
24+
field: getAllFields(opts),
2425
},
2526
}));
2627
}

src/ElasticDSL/Aggs/Bucket/Range.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { InputTypeComposer } from 'graphql-compose';
44
import { getTypeName, getOrSetType, desc } from '../../../utils';
55
import { getFloatRangeKeyedITC } from '../../Commons/Float';
66
import { getCommonsScriptITC } from '../../Commons/Script';
7+
import { getNumericFields } from '../../Commons/FieldNames';
78

89
export function getRangeITC(opts: mixed = {}): InputTypeComposer {
910
const name = getTypeName('AggsRange', opts);
@@ -23,7 +24,7 @@ export function getRangeITC(opts: mixed = {}): InputTypeComposer {
2324
name,
2425
description,
2526
fields: {
26-
field: 'String',
27+
field: getNumericFields(opts),
2728
ranges: () => [getFloatRangeKeyedITC(opts)],
2829
keyed: 'Boolean',
2930
script: () => getCommonsScriptITC(opts),

src/ElasticDSL/Aggs/Bucket/SignificantTerms.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import { InputTypeComposer } from 'graphql-compose';
44
import { getTypeName, getOrSetType, desc } from '../../../utils';
5+
import { getAllFields } from '../../Commons/FieldNames';
56

67
export function getSignificantTermsITC(opts: mixed = {}): InputTypeComposer {
78
const name = getTypeName('AggsSignificantTerms', opts);
@@ -19,7 +20,7 @@ export function getSignificantTermsITC(opts: mixed = {}): InputTypeComposer {
1920
name,
2021
description,
2122
fields: {
22-
field: 'String',
23+
field: getAllFields(opts),
2324
min_doc_count: 'Int',
2425
background_filter: 'JSON',
2526
execution_hint: 'String',

src/ElasticDSL/Aggs/Metrics/Avg.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import { InputTypeComposer } from 'graphql-compose';
44
import { getTypeName, getOrSetType, desc } from '../../../utils';
55
import { getCommonsScriptITC } from '../../Commons/Script';
6+
import { getNumericFields } from '../../Commons/FieldNames';
67

78
export function getAvgITC(opts: mixed = {}): InputTypeComposer {
89
const name = getTypeName('AggsAvg', opts);
@@ -22,7 +23,7 @@ export function getAvgITC(opts: mixed = {}): InputTypeComposer {
2223
name,
2324
description,
2425
fields: {
25-
field: 'String',
26+
field: getNumericFields(opts),
2627
missing: 'Float',
2728
script: () => getCommonsScriptITC(opts),
2829
},

src/ElasticDSL/Aggs/Metrics/Cardinality.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import { InputTypeComposer } from 'graphql-compose';
44
import { getTypeName, getOrSetType, desc } from '../../../utils';
55
import { getCommonsScriptITC } from '../../Commons/Script';
6+
import { getAllFields } from '../../Commons/FieldNames';
67

78
export function getCardinalityITC(opts: mixed = {}): InputTypeComposer {
89
const name = getTypeName('AggsCardinality', opts);
@@ -21,7 +22,7 @@ export function getCardinalityITC(opts: mixed = {}): InputTypeComposer {
2122
name,
2223
description,
2324
fields: {
24-
field: 'String',
25+
field: getAllFields(opts),
2526
precision_threshold: {
2627
type: 'Int',
2728
defaultValue: 3000,

src/ElasticDSL/Aggs/Metrics/ExtendedStats.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import { InputTypeComposer } from 'graphql-compose';
44
import { getTypeName, getOrSetType, desc } from '../../../utils';
55
import { getCommonsScriptITC } from '../../Commons/Script';
6+
import { getNumericFields } from '../../Commons/FieldNames';
67

78
export function getExtendedStatsITC(opts: mixed = {}): InputTypeComposer {
89
const name = getTypeName('AggsExtendedStats', opts);
@@ -22,7 +23,7 @@ export function getExtendedStatsITC(opts: mixed = {}): InputTypeComposer {
2223
name,
2324
description,
2425
fields: {
25-
field: 'String',
26+
field: getNumericFields(opts),
2627
sigma: 'Float',
2728
missing: 'Float',
2829
script: () => getCommonsScriptITC(opts),

src/ElasticDSL/Aggs/Metrics/GeoBounds.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import { InputTypeComposer } from 'graphql-compose';
44
import { getTypeName, getOrSetType, desc } from '../../../utils';
5+
import { getGeoPointFields } from '../../Commons/FieldNames';
56

67
export function getGeoBoundsITC(opts: mixed = {}): InputTypeComposer {
78
const name = getTypeName('AggsGeoBounds', opts);
@@ -19,7 +20,7 @@ export function getGeoBoundsITC(opts: mixed = {}): InputTypeComposer {
1920
name,
2021
description,
2122
fields: {
22-
field: 'String!',
23+
field: getGeoPointFields(opts),
2324
wrap_longitude: 'Boolean',
2425
},
2526
}));

src/ElasticDSL/Aggs/Metrics/GeoCentroid.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import { InputTypeComposer } from 'graphql-compose';
44
import { getTypeName, getOrSetType, desc } from '../../../utils';
5+
import { getGeoPointFields } from '../../Commons/FieldNames';
56

67
export function getGeoCentroidITC(opts: mixed = {}): InputTypeComposer {
78
const name = getTypeName('AggsGeoCentroid', opts);
@@ -19,7 +20,7 @@ export function getGeoCentroidITC(opts: mixed = {}): InputTypeComposer {
1920
name,
2021
description,
2122
fields: {
22-
field: 'String!',
23+
field: getGeoPointFields(opts),
2324
},
2425
}));
2526
}

src/ElasticDSL/Aggs/Metrics/Max.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@
33
import { InputTypeComposer } from 'graphql-compose';
44
import { getTypeName, getOrSetType, desc } from '../../../utils';
55
import { getCommonsScriptITC } from '../../Commons/Script';
6+
import { getNumericFields } from '../../Commons/FieldNames';
67

78
export function getMaxITC(opts: mixed = {}): InputTypeComposer {
89
const name = getTypeName('AggsMax', opts);
910
const description = desc(
1011
`
1112
A single-value metrics aggregation that keeps track and returns the maximum
1213
value among the numeric values extracted from the aggregated documents.
13-
These values can be extracted either from specific numeric fields
14+
These values can be extracted either from specific numeric fields
1415
in the documents, or be generated by a provided script.
1516
[Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-max-aggregation.html)
1617
`
@@ -22,7 +23,7 @@ export function getMaxITC(opts: mixed = {}): InputTypeComposer {
2223
name,
2324
description,
2425
fields: {
25-
field: 'String',
26+
field: getNumericFields(opts),
2627
missing: 'Float',
2728
script: () => getCommonsScriptITC(opts),
2829
},

src/ElasticDSL/Aggs/Metrics/Min.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import { InputTypeComposer } from 'graphql-compose';
44
import { getTypeName, getOrSetType, desc } from '../../../utils';
55
import { getCommonsScriptITC } from '../../Commons/Script';
6+
import { getNumericFields } from '../../Commons/FieldNames';
67

78
export function getMinITC(opts: mixed = {}): InputTypeComposer {
89
const name = getTypeName('AggsMin', opts);
@@ -22,7 +23,7 @@ export function getMinITC(opts: mixed = {}): InputTypeComposer {
2223
name,
2324
description,
2425
fields: {
25-
field: 'String',
26+
field: getNumericFields(opts),
2627
missing: 'Float',
2728
script: () => getCommonsScriptITC(opts),
2829
},

src/ElasticDSL/Aggs/Metrics/PercentileRanks.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { InputTypeComposer } from 'graphql-compose';
44
import { getTypeName, getOrSetType, desc } from '../../../utils';
55
import { getCommonsScriptITC } from '../../Commons/Script';
66
import { getCommonsHdrITC } from '../../Commons/HDR';
7+
import { getNumericFields } from '../../Commons/FieldNames';
78

89
export function getPercentileRanksITC(opts: mixed = {}): InputTypeComposer {
910
const name = getTypeName('AggsPercentileRanks', opts);
@@ -23,7 +24,7 @@ export function getPercentileRanksITC(opts: mixed = {}): InputTypeComposer {
2324
name,
2425
description,
2526
fields: {
26-
field: 'String',
27+
field: getNumericFields(opts),
2728
values: '[Float]',
2829
hdr: () => getCommonsHdrITC(opts),
2930
missing: 'Float',

src/ElasticDSL/Aggs/Metrics/Percentiles.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { InputTypeComposer } from 'graphql-compose';
44
import { getTypeName, getOrSetType, desc } from '../../../utils';
55
import { getCommonsScriptITC } from '../../Commons/Script';
66
import { getCommonsHdrITC } from '../../Commons/HDR';
7+
import { getNumericFields } from '../../Commons/FieldNames';
78

89
export function getPercentilesITC(opts: mixed = {}): InputTypeComposer {
910
const name = getTypeName('AggsPercentiles', opts);
@@ -23,7 +24,7 @@ export function getPercentilesITC(opts: mixed = {}): InputTypeComposer {
2324
name,
2425
description,
2526
fields: {
26-
field: 'String',
27+
field: getNumericFields(opts),
2728
percents: '[Float]',
2829
tdigest: `input ${getTypeName('AggsPercentilesTDigest', opts)} {
2930
compression: Int,

src/ElasticDSL/Aggs/Metrics/Stats.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import { InputTypeComposer } from 'graphql-compose';
44
import { getTypeName, getOrSetType, desc } from '../../../utils';
55
import { getCommonsScriptITC } from '../../Commons/Script';
6+
import { getNumericFields } from '../../Commons/FieldNames';
67

78
export function getStatsITC(opts: mixed = {}): InputTypeComposer {
89
const name = getTypeName('AggsStats', opts);
@@ -22,7 +23,7 @@ export function getStatsITC(opts: mixed = {}): InputTypeComposer {
2223
name,
2324
description,
2425
fields: {
25-
field: 'String',
26+
field: getNumericFields(opts),
2627
missing: 'Float',
2728
script: () => getCommonsScriptITC(opts),
2829
},

0 commit comments

Comments
 (0)