Data-SearchEngine
view release on metacpan or search on metacpan
t/lib/SearchEngineWee.pm view on Meta::CPAN
if(lc($prod->{description}) =~ /$part/) {
$score++;
}
next unless $score > 0;
if(defined($item)) {
$item->score($score);
} else {
my $item = Data::SearchEngine::Item->new(
id => $prod->{id},
score => $score
);
$item->set_value('description', $prod->{description});
$item->set_value('name', $prod->{name});
$items{$prod->{id}} = $item;
}
}
}
my @sorted_keys = sort { $items{$b}->score <=> $items{$a}->score } keys %items;
my @sorted = ();
foreach my $s (@sorted_keys) {
push(@sorted, $items{$s});
}
return SEWeeResults->new(
query => $oquery,
pager => Data::SearchEngine::Paginator->new(
entries_per_page => 1,
total_entries => scalar(@sorted)
),
items => \@sorted,
elapsed => time - $start
);
}
sub find_by_id {}
sub remove {
my ($self, $prod) = @_;
$self->delete($prod->{name});
}
sub remove_by_id {
my ($self, $id) = @_;
foreach my $key ($self->keys) {
my $prod = $self->get($key);
if($prod->{id} eq $id) {
$self->delete($key);
return 1;
}
}
return 0;
}
sub update {
my ($self, $prod) = @_;
$self->set($prod->{name}, $prod);
}
1;
( run in 0.646 second using v1.01-cache-2.11-cpan-e1769b4cff6 )