---
name: "Lucy::Search::SortSpec"
section: "3pm"
platform: "linux"
package: "liblucy-perl"
version: "0.3.3-7+b1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/Lucy::Search::SortSpec"
---

# Lucy::Search::SortSpec(3pm)

Specify a custom sort order for search results.

## NAME

Lucy::Search::SortSpec - Specify a custom sort order for search results.

## SYNOPSIS

```
    my $sort_spec = Lucy::Search::SortSpec->new(
        rules => [
            Lucy::Search::SortRule->new( field => 'date' ),
            Lucy::Search::SortRule->new( type  => 'doc_id' ),
        ],
    );
    my $hits = $searcher->hits(
        query     => $query,
        sort_spec => $sort_spec,
    );
```

## DESCRIPTION

By default, searches return results in order of relevance; SortSpec allows you to indicate an alternate order via an array of SortRules.

Fields you wish to sort against must be `"sortable"`.

For a stable sort (important when paging through results), add a sort-by-doc rule as the last SortRule.

## CONSTRUCTORS

### new( *\[labeled params\]* )

```
    my $sort_spec = Lucy::Search::SortSpec->new( rules => \@rules );
```

- •

  **rules** - An array of SortRules.

## INHERITANCE

Lucy::Search::SortSpec isa Lucy::Object::Obj.
