# Sort order on mvel script

**URL:** <https://discuss.elastic.co/t/sort-order-on-mvel-script/2306>\
**Category:** Elasticsearch\
**Created:** [June 10, 2015, 12:02pm UTC](https://discuss.elastic.co/t/sort-order-on-mvel-script/2306 "2015-06-10T12:02:44Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![whattheheck](https://avatars.discourse-cdn.com/v4/letter/w/7c8e57/32.png) [@whattheheck](https://discuss.elastic.co/u/whattheheck)\
**Post date:** [June 10, 2015, 12:02pm UTC](https://discuss.elastic.co/t/sort-order-on-mvel-script/2306/1 "2015-06-10T12:02:44Z")

</div>

When I run the following script to retrieve the lists in size order

GET indexname/\_search  
{  
"sort" : {  
"\_script" : {  
"script" : "\_source.list.size()",  
"type" : "string",  
"order" : "desc"  
}  
}  
}

The script is using ASCII sort order on the results from size()

So 9 is first or 99  
then 8 or 888  
Then 7 or 7777

I need to cast the return to integer somehow or tell the script to use integer?

---

<div class="post-metadata">

**Author:** ![colings86](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/colings86/32/44960_2.png) [@colings86](https://discuss.elastic.co/u/colings86)\
**Post date:** [June 10, 2015, 12:07pm UTC](https://discuss.elastic.co/t/sort-order-on-mvel-script/2306/2 "2015-06-10T12:07:08Z")

</div>

You should be able to do this by simply changing `type` to `number` instead of `string`. See [https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-sort.html#\_script\_based\_sorting](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-sort.html#_script_based_sorting) for an example

---

<div class="post-metadata">

**Author:** ![whattheheck](https://avatars.discourse-cdn.com/v4/letter/w/7c8e57/32.png) [@whattheheck](https://discuss.elastic.co/u/whattheheck)\
**Post date:** [June 10, 2015, 12:45pm UTC](https://discuss.elastic.co/t/sort-order-on-mvel-script/2306/3 "2015-06-10T12:45:31Z")

</div>

Gosh that works.  
I tried integer, int but didn't think to use number

---

<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:** [July 6, 2017, 12:08am UTC](https://discuss.elastic.co/t/sort-order-on-mvel-script/2306/4 "2017-07-06T00:08:37Z")

</div>


