From b2c115f9d9f13df465edec8c3322f0699cd3617f Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Fri, 21 Apr 2023 17:10:46 +0800 Subject: [PATCH] Allow wildcards in label: filter --- packages/api/src/elastic/pages.ts | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/packages/api/src/elastic/pages.ts b/packages/api/src/elastic/pages.ts index 06bf472bb..1d2262867 100644 --- a/packages/api/src/elastic/pages.ts +++ b/packages/api/src/elastic/pages.ts @@ -119,8 +119,25 @@ const appendIncludeLabelFilter = ( builder = builder.query('nested', { path: 'labels', query: { - terms: { - 'labels.name': filter.labels, + bool: { + should: filter.labels.map((label) => { + if (label.includes('*')) { + // Wildcard query + return { + wildcard: { + 'labels.name': { + value: label, + }, + }, + } + } + return { + term: { + 'labels.name': label, + }, + } + }), + minimum_should_match: 1, }, }, })