I have the following query, but highlight is not working.
{
"query": {
"filtered" : {
"filter" : {
"or" : {
"filters" : [
{
"query": {
"multi_match":{
"query":"time",
"fields":[
"display_name_en","display_name_pa","display_name_pr",
"icon_class","in_sidemenu","model_name","name",
"table_name"
],
"operator":"OR"
}
}
},
{
"terms":{
"created_by.id":["11","13","14","16"],
"_name" : "created_by"
}
},
{
"range":{
"created_at":{
"gte":"2016-01-27",
"lte":"2016-03-21",
"format":"YYYY-MM-dd"
}
}
}
],
"_name" : "or"
}
}
}
},
"highlight": {
"fields" : {
"name" : {}
}
}
}
And the result is like this:
{
"took": 3,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 1,
"hits": [
{
"_index": "promote_kmp",
"_type": "resources",
"_id": "569e0d84684cc",
"_score": 1,
"_source": {
"id": 106,
"name": "Last time First Update",
"display_name_en": "Last time",
"display_name_pr": "Last time",
"display_name_pa": "Last time",
"table_name": "Last time",
"model_name": "Last time",
"in_sidemenu": "0",
"icon_class": "Last time",
"created_at": "2016-01-18 09:40:51",
"created_by": null,
"updated_at": "2016-01-19 14:48:44",
"updated_by": {
"id": 6,
"first_name": "Laili",
"last_name": "Hamta",
"last_activity": "2016-01-19 14:48:44",
"roles": [
{
"id": 1,
"name": "admin",
"created_at": "2015-09-06 15:19:15",
"updated_at": "2015-09-06 15:19:15",
"pivot": {
"user_id": 6,
"role_id": 1
}
}
]
}
},
"matched_queries": [
"or"
]
}
]
}
}
As you see there is no any highlight keyword inside result, So what is the mistake with this query, and why highlight is not working? But if I put the multi_match
part before filter:{}
it is working, and on that case how I can use with or
operator?
for any help thanks.