Commit 69c2fafa by Torkel Ödegaard

feat(elasticsearch): added geo hash bucket aggregation

parent 5a241a82
...@@ -60,6 +60,10 @@ function (angular, _, queryDef) { ...@@ -60,6 +60,10 @@ function (angular, _, queryDef) {
$scope.agg.query = '*'; $scope.agg.query = '*';
break; break;
} }
case 'geohash_grid': {
$scope.agg.settings.precision = 3;
break;
}
} }
$scope.validateModel(); $scope.validateModel();
...@@ -121,6 +125,13 @@ function (angular, _, queryDef) { ...@@ -121,6 +125,13 @@ function (angular, _, queryDef) {
if (settings.trimEdges && settings.trimEdges > 0) { if (settings.trimEdges && settings.trimEdges > 0) {
settingsLinkText += ', Trim edges: ' + settings.trimEdges; settingsLinkText += ', Trim edges: ' + settings.trimEdges;
} }
break;
}
case 'geohash_grid': {
// limit precision to 7
settings.precision = Math.max(Math.min(settings.precision, 7), 1);
settingsLinkText = 'Precision: ' + settings.precision;
break;
} }
} }
......
...@@ -86,6 +86,13 @@ ...@@ -86,6 +86,13 @@
</div> </div>
</div> </div>
<div ng-if="agg.type === 'geohash_grid'">
<div class="gf-form offset-width-7">
<label class="gf-form-label">Precision</label>
<input type="number" class="gf-form-input max-width-12" ng-model="agg.settings.precision" spellcheck='false' placeholder="3" ng-blur="onChangeInternal()">
</div>
</div>
</div> </div>
...@@ -153,6 +153,10 @@ function (queryDef) { ...@@ -153,6 +153,10 @@ function (queryDef) {
this.buildTermsAgg(aggDef, esAgg, target); this.buildTermsAgg(aggDef, esAgg, target);
break; break;
} }
case 'geohash_grid': {
esAgg['geohash_grid'] = {field: aggDef.field, precision: aggDef.settings.precision};
break;
}
} }
nestedAggs.aggs = nestedAggs.aggs || {}; nestedAggs.aggs = nestedAggs.aggs || {};
......
...@@ -22,6 +22,7 @@ function (_) { ...@@ -22,6 +22,7 @@ function (_) {
bucketAggTypes: [ bucketAggTypes: [
{text: "Terms", value: 'terms', requiresField: true}, {text: "Terms", value: 'terms', requiresField: true},
{text: "Filters", value: 'filters' }, {text: "Filters", value: 'filters' },
{text: "Geo Hash Grid", value: 'geohash_grid', requiresField: true},
{text: "Date Histogram", value: 'date_histogram', requiresField: true}, {text: "Date Histogram", value: 'date_histogram', requiresField: true},
], ],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment