I have a index named 'employees' with following mapping
"properties": {
"employee_id": {
"type": "long"
},
"employee_details": {
"type": "nested",
"dynamic": "false",
"properties": {
"city": {
"type": "keyword"
},
"employee_type": {
"type": "keyword"
}
}
}
}
Based on the index documents, I have created kibana dashboard with multiple widgets in it.
I noticed that we can filter the data in the dashboard using KQL
or using filters
Problem:
I noticed that the query generated by using KQL and Filter is different for Vega widgets.
For KQL the query was as below which is correct.
{
"aggs": {},
"size": 0,
"query": {
"bool": {
"must": [],
"filter": [
{
"nested": {
"path": "employee_details",
"query": {
"bool": {
"should": [
{
"match_phrase": {
"employee_details.employee_type": "PERMANENT"
}
}
],
"minimum_should_match": 1
}
},
"score_mode": "none"
}
}
]
}
}
}
But the query generated using the filter is incorrect for Vega widgets
{
"size": 0,
"query": {
"bool": {
"filter": [
{
"match_phrase": {
"employee_details.employee_type": "PERMANENT"
}
}
],
"should": [],
"must_not": []
}
}
}
I failed to understand why these queries are different only for Kibana widgets.
Can somebody please help?