Sorting Parameters 
Configurable Items 
In a SpringBoot / Grails project, if the bean-searcher-boot-starter dependency is used, you can customize the sorting parameters through the following configuration items in the application.properties or application.yml file of the project:
| Configuration Key Name | Meaning | Optional Values | Default Value | 
|---|---|---|---|
| bean-searcher.params.sort | Parameter name for the sorting field | String | sort | 
| bean-searcher.params.order | Parameter name for the sorting method | String | order | 
| bean-searcher.params.order-by | Parameter name for sorting (since v3.4.0) | String | orderBy | 
Single-field Sorting 
Usage example (under default configuration):
java
Map<String, Object> params = MapUtils.builder()
        .orderBy(User::getAge).desc()               // age field, descending order (since v3.7.1) (recommended way)
        .orderBy(User::getAge, "desc")              // Equivalent way 1
        .put("sort", "age")                         // Equivalent way 2
        .put("order", "desc")                       // Equivalent way 2
        .build();
SearchResult<User> result = searcher.search(User.class, params);Multi-field Sorting (since v3.4) 
java
Map<String, Object> params = MapUtils.builder()
        .orderBy(User::getAge).asc()                // age field, ascending order
        .orderBy(User::getTime).desc()              // time field, descending order (call the orderBy method multiple times)
        .put("orderBy", "age:asc,time:desc")        // Equivalent way      
        .build();
SearchResult<User> result = searcher.search(User.class, params);