# Elastic Search query

**URL:** <https://discuss.elastic.co/t/elastic-search-query/326430>\
**Category:** Elasticsearch\
**Created:** [February 24, 2023, 11:18am UTC](https://discuss.elastic.co/t/elastic-search-query/326430 "2023-02-24T11:18:26Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![ashish.akm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ashish.akm/32/117706_2.png) [@ashish.akm](https://discuss.elastic.co/u/ashish.akm)\
**Post date:** [February 24, 2023, 11:18am UTC](https://discuss.elastic.co/t/elastic-search-query/326430/1 "2023-02-24T11:18:26Z")

</div>

how to create one query with match sort by newer report date and martch\_phrase sort by newer report and combine both result

---

<div class="post-metadata">

**Author:** ![carly.richmond](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/carly.richmond/32/104935_2.png) [@carly.richmond](https://discuss.elastic.co/u/carly.richmond)\
**Post date:** [February 24, 2023, 1:12pm UTC](https://discuss.elastic.co/t/elastic-search-query/326430/2 "2023-02-24T13:12:10Z")

</div>

Hi @ashish.akm,

Welcome to the community! I assume you're querying against a single index? Have you taken a look at [bool query](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html) including your `match` and `match_phrase` terms?

---

<div class="post-metadata">

**Author:** ![ashish.akm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ashish.akm/32/117706_2.png) [@ashish.akm](https://discuss.elastic.co/u/ashish.akm)\
**Post date:** [February 27, 2023, 12:39pm UTC](https://discuss.elastic.co/t/elastic-search-query/326430/3 "2023-02-27T12:39:11Z")

</div>

Hi @carly.richmond  
I am using below query but sort give me entire result with reportedate descending order, Where as I want sort by reportdate descending on "match\_pharse" result set then "match" sort by reportedate descending.  
GET /\_search  
{  
"sort":[  
{"reporteddate" : {"order": "desc", }}, "\_score" }  
],  
"query": {  
"bool": {  
"should": [  
{  
"match\_phrase": { "file.content": "query": "elections time" ,"boost": 10}  
},  
{  
"match": { "file.content": "query": "elections time" }  
}  
]  
}  
}  
}

---

<div class="post-metadata">

**Author:** ![carly.richmond](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/carly.richmond/32/104935_2.png) [@carly.richmond](https://discuss.elastic.co/u/carly.richmond)\
**Post date:** [February 27, 2023, 1:39pm UTC](https://discuss.elastic.co/t/elastic-search-query/326430/4 "2023-02-27T13:39:06Z")

</div>

Thanks for confirming @ashish.akm. I'm not aware of an ability to specify different sort criteria for each phrase in the query DSL. But you could have a look at writing a [custom sort script in painless](https://www.elastic.co/guide/en/elasticsearch/reference/8.6/sort-search-results.html#script-based-sorting).

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [March 27, 2023, 1:39pm UTC](https://discuss.elastic.co/t/elastic-search-query/326430/5 "2023-03-27T13:39:12Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
