diff --git a/src/components/search_bar/query/__snapshots__/ast_to_es_query_dsl.test.ts.snap b/src/components/search_bar/query/__snapshots__/ast_to_es_query_dsl.test.ts.snap index 127c7d8bf6a..f2453736d1a 100644 --- a/src/components/search_bar/query/__snapshots__/ast_to_es_query_dsl.test.ts.snap +++ b/src/components/search_bar/query/__snapshots__/ast_to_es_query_dsl.test.ts.snap @@ -15,12 +15,18 @@ Object { "must": Array [ Object { "match": Object { - "group": "kibana", + "group": Object { + "operator": "and", + "query": "kibana", + }, }, }, Object { "match": Object { - "group": "logstash", + "group": Object { + "operator": "and", + "query": "logstash", + }, }, }, ], @@ -33,12 +39,18 @@ Object { "must": Array [ Object { "match": Object { - "group": "es", + "group": Object { + "operator": "and", + "query": "es", + }, }, }, Object { "match": Object { - "group": "beats", + "group": Object { + "operator": "and", + "query": "beats", + }, }, }, ], @@ -60,7 +72,10 @@ Object { }, Object { "match": Object { - "group": "kibana", + "group": Object { + "operator": "and", + "query": "kibana", + }, }, }, Object { @@ -87,12 +102,18 @@ Object { "must": Array [ Object { "match": Object { - "group": "eng", + "group": Object { + "operator": "and", + "query": "eng", + }, }, }, Object { "match": Object { - "group": "es", + "group": Object { + "operator": "and", + "query": "es", + }, }, }, ], @@ -117,7 +138,10 @@ Object { }, Object { "match": Object { - "group": "kibana", + "group": Object { + "operator": "and", + "query": "kibana", + }, }, }, ], @@ -160,7 +184,10 @@ Object { "should": Array [ Object { "match": Object { - "group": "eng", + "group": Object { + "operator": "or", + "query": "eng", + }, }, }, Object { @@ -197,12 +224,18 @@ Object { "should": Array [ Object { "match": Object { - "group": "eng", + "group": Object { + "operator": "or", + "query": "eng", + }, }, }, Object { "match": Object { - "group": "es", + "group": Object { + "operator": "or", + "query": "es", + }, }, }, ], @@ -212,7 +245,10 @@ Object { "must_not": Array [ Object { "match": Object { - "group": "kibana", + "group": Object { + "operator": "and", + "query": "kibana", + }, }, }, ], @@ -232,7 +268,10 @@ Object { "must": Array [ Object { "match": Object { - "name": "john", + "name": Object { + "operator": "and", + "query": "john", + }, }, }, ], @@ -243,7 +282,10 @@ Object { "must": Array [ Object { "match": Object { - "name": "fred", + "name": Object { + "operator": "and", + "query": "fred", + }, }, }, ], @@ -269,7 +311,10 @@ Object { "must": Array [ Object { "match": Object { - "name": "john", + "name": Object { + "operator": "and", + "query": "john", + }, }, }, ], @@ -425,7 +470,10 @@ Object { "must": Array [ Object { "match": Object { - "name": "john", + "name": Object { + "operator": "and", + "query": "john", + }, }, }, ], diff --git a/src/components/search_bar/query/ast_to_es_query_dsl.ts b/src/components/search_bar/query/ast_to_es_query_dsl.ts index 9b2c89c36f4..722786eb6e1 100644 --- a/src/components/search_bar/query/ast_to_es_query_dsl.ts +++ b/src/components/search_bar/query/ast_to_es_query_dsl.ts @@ -144,12 +144,21 @@ export const _fieldValuesToQuery = ( queries.push({ bool: { [andOr === 'and' ? 'must' : 'should']: [ - ...terms.map((value) => ({ match: { [field]: value } })), + ...terms.map((value) => ({ + match: { + [field]: { + query: value, + operator: andOr, + }, + }, + })), ], }, }); } else if (terms.length === 1) { - queries.push({ match: { [field]: terms[0] } }); + queries.push({ + match: { [field]: { query: terms[0], operator: andOr } }, + }); } if (phrases.length > 0) { diff --git a/upcoming_changelogs/6409.md b/upcoming_changelogs/6409.md new file mode 100644 index 00000000000..b816b20139c --- /dev/null +++ b/upcoming_changelogs/6409.md @@ -0,0 +1,3 @@ +**Bug fixes** + +- Restores the previous match operator behaviour when the query value is split into multiple terms after analysis.