Sort
The search requests accept a sort
parameter.
This parameter can be used to define the order in which the matched documents are returned.
Syntax
The sort
attribute is a string of one or more sort conditions, separated by spaces.
Each condition specifies a field to sort by, followed by a colon (:
), then the sort direction.
The possible direction values are:
asc
desc
You can also sort results based on the relevancy score calculated by the search engine using the _score
attribute.
The _score
attribute doesn't accept a direction.
If a Document
has a boost
attribute, its score will be multiplied by it.
This is the sort syntax definition:
{field}:{direction}
field
: The field by which to sort the results.direction
: The sort direction, eitherasc
for ascending ordesc
for descending.
Example
Fields are sorted in the order they are specified in the sort
string.
If you want to sort by the category
field in ascending order, you would use:
category:asc
If you want to sort by the price
field in descending order, you would use:
price:desc
You can also combine multiple fields. For example, to sort by category
in ascending order and then by price
in descending order, you would use:
category:asc price:desc
To sort results based on the relevancy score calculated by the search engine, you would use the _score
attribute. For example:
_score
You can also combine the _score
attribute with other fields. For example, to sort by category
in ascending order and then by the relevancy score, you would use:
category:asc _score
You can sort based on a geo point field as shown below:
location[52.49,13.77]:km:asc