---
name: "Lucy::Search::SortRule"
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::SortRule"
---

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

Element of a SortSpec.

## NAME

Lucy::Search::SortRule - Element of a SortSpec.

## SYNOPSIS

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

## DESCRIPTION

SortRules are the building blocks used to assemble SortSpecs; each SortRule defines a single level of sorting.  For example, sorting first by "category" then by score requires a SortSpec with two SortRule elements.

## CONSTRUCTORS

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

```
    my $by_title   = Lucy::Search::SortRule->new( field => 'title' );
    my $by_score   = Lucy::Search::SortRule->new( type  => 'score' );
    my $by_doc_id  = Lucy::Search::SortRule->new( type  => 'doc_id' );
    my $reverse_date = Lucy::Search::SortRule->new(
        field   => 'date',
        reverse => 1,
    );
```

- •

  **type** - Indicate whether to sort by score, field, etc.  (The default is to sort by a field.)

- •

  **field** - The name of a `"sortable"` field.

- •

  **reverse** - If true, reverse the order of the sort for this rule.

## METHODS

### *get\_field()*

Accessor for "field" member.

### *get\_reverse()*

Accessor for "reverse" member.

## INHERITANCE

Lucy::Search::SortRule isa Lucy::Object::Obj.
