The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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

    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,
    );

Create a new SortRule.

  • 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

    my $string = $sort_rule->get_field();

Accessor for “field” member.

get_type

    my $int = $sort_rule->get_type();

Accessor for “type” member.

get_reverse

    my $bool = $sort_rule->get_reverse();

Accessor for “reverse” member.

INHERITANCE

Lucy::Search::SortRule isa Clownfish::Obj.