NAME
Data::SearchEngine::Results - Results of a Data::SearchEngine search
VERSION
version 0.33
SYNOPSIS
# An example search implementation
sub
search {
my
(
$self
,
$query
) =
@_
;
# boring, search specific implementation
my
$results
= Data::SearchEngine::Results->new(
query
=>
$query
,
pager
=> Data::SearchEngine::Paginator->new
# Data::Paginator subclass
);
my
@sorted_products
;
# fill with a search or something
my
$scores
;
# fill with search scores
my
$start
=
time
;
foreach
my
$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(
'price'
,
$product
->price);
$results
->add(
$item
);
}
$results
->elapsed(
time
-
$start
);
return
$results
;
}
DESCRIPTION
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.
SERIALIZATION
This module uses MooseX::Storage::Deferred to provide serialization. You may serialize it thusly:
my
$json
=
$results
->freeze({
format
=>
'JSON'
});
# ...
my
$results
= Data::SearchEngine::Results->thaw(
$json
, {
format
=>
'JSON'
});
ATTRIBUTES
elapsed
The time it took to complete this search.
items
The list of Data::SearchEngine::Items found for the query.
query
The Data::SearchEngine::Query that yielded this Results object.
pager
The Data::Page for this result.
raw
An attribute that a search backend may fill with the "raw" response it received. This is useful for retrieving engine-specific information such as debugging or tracing information. Type is Any
.
METHODS
add ($item)
Add an item to this result.
get ($n)
Get the nth item.
AUTHOR
Cory G Watson <gphat@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Cold Hard Code, LLC.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.