Lucy::Search::SortSpec(3) Specify a custom sort order for search results.


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,


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.


new( [labeled params] )

    my $sort_spec = Lucy::Search::SortSpec->new( rules => \@rules );
  • rules - An array of SortRules.


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