NAME
Data::SearchEngine::Results - Results of a Data::SearchEngine serach
SYNOPSIS
The Results object holds the list of items found during a query. They are usually sorted by a score. This object provides some standard attributes you are likely to use, as well as the ability to serialize via freeze
and thaw
thanks to MooseX::Storage.
use Data::SearchEngine::Item;
use Data::SearchEngine::Results;
use Time::HiRes;
sub query {
# boring, search specific implementation
my $results = Data::SearchEngine::Results->new(
query => $query
pager => Data::Page->new(...)
);
my $start = time;
foreach $product (@sorted_products) {
my $item = Data::SearchEngine::Item->new(
id => $product->id, # unique product id
score => $scores->{$product->id} # make your own scores
));
$item->set_value('url', 'http://example.com/product/'.$product->id);
$item->set_value('price', $product->price);
$results->add($item);
}
$results->elapsed(time - $start);
return $results;
}
ATTRIBUTES
elapsed
The time it took to complete this search.
facet_names
Returns an array of all the keys of facets
.
facets
HashRef of facet for this query. The HashRef is keyed by the name of the facet and the values are facet's value.
items
The list of Data::SearchEngine::Items found for the query.
pager
The Data::Page for this result.
query
The Data::SearchEngine::Query that yielded this Results object.
METHODS
Appends an Item onto the end of this Results object's item list.
Gets the item at the specified index.
Gets the facet with the specified name. Returns undef if one does not exist.
Sets the facet with the specified name.
AUTHOR
Cory G Watson, <gphat at cpan.org>
COPYRIGHT & LICENSE
Copyright 2009 Cory G Watson
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
4 POD Errors
The following errors were encountered while parsing the POD:
- Around line 121:
Unknown directive: =head
- Around line 125:
Unknown directive: =head
- Around line 129:
Unknown directive: =head
- Around line 133:
Unknown directive: =head