|
@@ -6,11 +6,18 @@ function (angular) {
|
|
|
|
|
|
|
|
function ElasticQueryBuilder(options) {
|
|
function ElasticQueryBuilder(options) {
|
|
|
this.timeField = options.timeField;
|
|
this.timeField = options.timeField;
|
|
|
|
|
+ this.elasticsearchVersion = options.elasticsearchVersion;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
ElasticQueryBuilder.prototype.getRangeFilter = function() {
|
|
ElasticQueryBuilder.prototype.getRangeFilter = function() {
|
|
|
var filter = {};
|
|
var filter = {};
|
|
|
filter[this.timeField] = {"gte": "$timeFrom", "lte": "$timeTo"};
|
|
filter[this.timeField] = {"gte": "$timeFrom", "lte": "$timeTo"};
|
|
|
|
|
+
|
|
|
|
|
+ // elastic search versions above 2.0 require the time format to be specified
|
|
|
|
|
+ if (this.elasticsearchVersion >= 2) {
|
|
|
|
|
+ filter[this.timeField]["format"] = "epoch_millis";
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
return filter;
|
|
return filter;
|
|
|
};
|
|
};
|
|
|
|
|
|
|
@@ -129,6 +136,10 @@ function (angular) {
|
|
|
"min_doc_count": 0,
|
|
"min_doc_count": 0,
|
|
|
"extended_bounds": { "min": "$timeFrom", "max": "$timeTo" }
|
|
"extended_bounds": { "min": "$timeFrom", "max": "$timeTo" }
|
|
|
};
|
|
};
|
|
|
|
|
+ // elastic search versions above 2.0 require the time format to be specified
|
|
|
|
|
+ if (this.elasticsearchVersion >= 2) {
|
|
|
|
|
+ esAgg["date_histogram"]["format"] = "epoch_millis";
|
|
|
|
|
+ }
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
case 'filters': {
|
|
case 'filters': {
|