From 9384a2d1d69fc9fefdf638d5caec5579a76e45c2 Mon Sep 17 00:00:00 2001 From: Marco Vettorello Date: Wed, 23 Jan 2019 19:10:33 +0100 Subject: [PATCH] fix(tsvb-server): Ignore query bar search on ignore_global_filters param This commit mimic the behaviour of the ignore_global_filters currently used with lucene syntax: if you enable the ignore_global_filter option on data or on annotations, data or annotations are filtered out when using the filter bar and the search bar --- .../request_processors/annotations/query.js | 16 ++++++++-------- .../vis_data/request_processors/series/query.js | 15 +++++++-------- .../vis_data/request_processors/table/query.js | 12 +++++------- 3 files changed, 20 insertions(+), 23 deletions(-) diff --git a/src/legacy/core_plugins/metrics/server/lib/vis_data/request_processors/annotations/query.js b/src/legacy/core_plugins/metrics/server/lib/vis_data/request_processors/annotations/query.js index d61894dc0112d..2e4f765b21321 100644 --- a/src/legacy/core_plugins/metrics/server/lib/vis_data/request_processors/annotations/query.js +++ b/src/legacy/core_plugins/metrics/server/lib/vis_data/request_processors/annotations/query.js @@ -28,17 +28,17 @@ export default function query(req, panel, annotation, esQueryConfig, indexPatter const { from, to } = getTimerange(req); doc.size = 0; - const queries = req.payload.query || []; + const queries = !annotation.ignore_global_filters ? req.payload.query : []; const filters = !annotation.ignore_global_filters ? req.payload.filters : []; doc.query = buildEsQuery(indexPattern, queries, filters, esQueryConfig); const timerange = { range: { [timeField]: { gte: from.valueOf(), - lte: to.valueOf() - (bucketSize * 1000), + lte: to.valueOf() - bucketSize * 1000, format: 'epoch_millis', - } - } + }, + }, }; doc.query.bool.must.push(timerange); @@ -46,8 +46,8 @@ export default function query(req, panel, annotation, esQueryConfig, indexPatter doc.query.bool.must.push({ query_string: { query: annotation.query_string, - analyze_wildcard: true - } + analyze_wildcard: true, + }, }); } @@ -55,8 +55,8 @@ export default function query(req, panel, annotation, esQueryConfig, indexPatter doc.query.bool.must.push({ query_string: { query: panel.filter, - analyze_wildcard: true - } + analyze_wildcard: true, + }, }); } diff --git a/src/legacy/core_plugins/metrics/server/lib/vis_data/request_processors/series/query.js b/src/legacy/core_plugins/metrics/server/lib/vis_data/request_processors/series/query.js index a549888b1478e..9a08aec011cc5 100644 --- a/src/legacy/core_plugins/metrics/server/lib/vis_data/request_processors/series/query.js +++ b/src/legacy/core_plugins/metrics/server/lib/vis_data/request_processors/series/query.js @@ -27,7 +27,7 @@ export default function query(req, panel, series, esQueryConfig, indexPattern) { const { from, to } = offsetTime(req, series.offset_time); doc.size = 0; - const queries = req.payload.query || []; + const queries = !panel.ignore_global_filter ? req.payload.query : []; const filters = !panel.ignore_global_filter ? req.payload.filters : []; doc.query = buildEsQuery(indexPattern, queries, filters, esQueryConfig); @@ -37,8 +37,8 @@ export default function query(req, panel, series, esQueryConfig, indexPattern) { gte: from.valueOf(), lte: to.valueOf(), format: 'epoch_millis', - } - } + }, + }, }; doc.query.bool.must.push(timerange); @@ -46,8 +46,8 @@ export default function query(req, panel, series, esQueryConfig, indexPattern) { doc.query.bool.must.push({ query_string: { query: panel.filter, - analyze_wildcard: true - } + analyze_wildcard: true, + }, }); } @@ -55,12 +55,11 @@ export default function query(req, panel, series, esQueryConfig, indexPattern) { doc.query.bool.must.push({ query_string: { query: series.filter, - analyze_wildcard: true - } + analyze_wildcard: true, + }, }); } return next(doc); - }; } diff --git a/src/legacy/core_plugins/metrics/server/lib/vis_data/request_processors/table/query.js b/src/legacy/core_plugins/metrics/server/lib/vis_data/request_processors/table/query.js index 6bf9ff823a597..ece96f19c3607 100644 --- a/src/legacy/core_plugins/metrics/server/lib/vis_data/request_processors/table/query.js +++ b/src/legacy/core_plugins/metrics/server/lib/vis_data/request_processors/table/query.js @@ -27,19 +27,18 @@ export default function query(req, panel, esQueryConfig, indexPattern) { doc.size = 0; - const queries = req.payload.query || []; + const queries = !panel.ignore_global_filter ? req.payload.query : []; const filters = !panel.ignore_global_filter ? req.payload.filters : []; doc.query = buildEsQuery(indexPattern, queries, filters, esQueryConfig); - const timerange = { range: { [timeField]: { gte: from.valueOf(), lte: to.valueOf(), format: 'epoch_millis', - } - } + }, + }, }; doc.query.bool.must.push(timerange); @@ -47,12 +46,11 @@ export default function query(req, panel, esQueryConfig, indexPattern) { doc.query.bool.must.push({ query_string: { query: panel.filter, - analyze_wildcard: true - } + analyze_wildcard: true, + }, }); } return next(doc); - }; }