|
@@ -153,8 +153,8 @@ function (angular, _, moment, kbn, ElasticQueryBuilder, IndexPattern, ElasticRes
|
|
|
});
|
|
});
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
- ElasticDatasource.prototype.getQueryHeader = function(timeFrom, timeTo) {
|
|
|
|
|
- var header = {search_type: "count", "ignore_unavailable": true};
|
|
|
|
|
|
|
+ ElasticDatasource.prototype.getQueryHeader = function(searchType, timeFrom, timeTo) {
|
|
|
|
|
+ var header = {search_type: searchType, "ignore_unavailable": true};
|
|
|
header.index = this.indexPattern.getIndexList(timeFrom, timeTo);
|
|
header.index = this.indexPattern.getIndexList(timeFrom, timeTo);
|
|
|
return angular.toJson(header);
|
|
return angular.toJson(header);
|
|
|
};
|
|
};
|
|
@@ -163,8 +163,7 @@ function (angular, _, moment, kbn, ElasticQueryBuilder, IndexPattern, ElasticRes
|
|
|
var payload = "";
|
|
var payload = "";
|
|
|
var target;
|
|
var target;
|
|
|
var sentTargets = [];
|
|
var sentTargets = [];
|
|
|
-
|
|
|
|
|
- var header = this.getQueryHeader(options.range.from, options.range.to);
|
|
|
|
|
|
|
+ var headerAdded = false;
|
|
|
|
|
|
|
|
for (var i = 0; i < options.targets.length; i++) {
|
|
for (var i = 0; i < options.targets.length; i++) {
|
|
|
target = options.targets[i];
|
|
target = options.targets[i];
|
|
@@ -177,7 +176,14 @@ function (angular, _, moment, kbn, ElasticQueryBuilder, IndexPattern, ElasticRes
|
|
|
luceneQuery = luceneQuery.substr(1, luceneQuery.length - 2);
|
|
luceneQuery = luceneQuery.substr(1, luceneQuery.length - 2);
|
|
|
esQuery = esQuery.replace("$lucene_query", luceneQuery);
|
|
esQuery = esQuery.replace("$lucene_query", luceneQuery);
|
|
|
|
|
|
|
|
- payload += header + '\n' + esQuery + '\n';
|
|
|
|
|
|
|
+ if (!headerAdded) {
|
|
|
|
|
+ var searchType = queryObj.size === 0 ? 'count' : 'query_then_fetch';
|
|
|
|
|
+ var header = this.getQueryHeader(searchType, options.range.from, options.range.to);
|
|
|
|
|
+ payload += header + '\n';
|
|
|
|
|
+ headerAdded = true;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ payload += esQuery + '\n';
|
|
|
sentTargets.push(target);
|
|
sentTargets.push(target);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -230,7 +236,7 @@ function (angular, _, moment, kbn, ElasticQueryBuilder, IndexPattern, ElasticRes
|
|
|
|
|
|
|
|
ElasticDatasource.prototype.getTerms = function(queryDef) {
|
|
ElasticDatasource.prototype.getTerms = function(queryDef) {
|
|
|
var range = timeSrv.timeRange();
|
|
var range = timeSrv.timeRange();
|
|
|
- var header = this.getQueryHeader(range.from, range.to);
|
|
|
|
|
|
|
+ var header = this.getQueryHeader('count', range.from, range.to);
|
|
|
var esQuery = angular.toJson(this.queryBuilder.getTermsQuery(queryDef));
|
|
var esQuery = angular.toJson(this.queryBuilder.getTermsQuery(queryDef));
|
|
|
|
|
|
|
|
esQuery = esQuery.replace("$lucene_query", queryDef.query || '*');
|
|
esQuery = esQuery.replace("$lucene_query", queryDef.query || '*');
|