KinoSearch1::Search::Hits(3pm) | User Contributed Perl Documentation | KinoSearch1::Search::Hits(3pm) |
KinoSearch1::Search::Hits - access search results
my $hits = $searcher->search( query => $query ); $hits->seek( 0, 10 ); while ( my $hashref = $hits->fetch_hit_hashref ) { print "<p>$hashref->{title} <em>$hashref->{score}</em></p>\n"; }
Hits objects are used to access the results of a search. By default, a hits object provides access to the top 100 matches; the seek() method provides finer-grained control.
A classic application would be paging through hits. The first time, seek to a START of 0, and retrieve 10 documents. If the user wants to see more -- and there are more than 10 total hits -- seek to a START of 10, and retrieve 10 more documents. And so on.
$hits->seek( START, NUM_TO_RETRIEVE );
Position the Hits iterator at START, and capture NUM_TO_RETRIEVE docs.
my $num_that_matched = $hits->total_hits;
Return the total number of documents which matched the query used to produce the Hits object. (This number is unlikely to match NUM_TO_RETRIEVE.)
while ( my $hit = $hits->fetch_hit ) { # ... }
Return the next hit as a KinoSearch1::Search::Hit object.
while ( my $hashref = $hits->fetch_hit_hashref ) { # ... }
Return the next hit as a hashref, with the field names as keys and the field values as values. An entry for "score" will also be present, as will an entry for "excerpt" if create_excerpts() was called earlier. However, if the document contains stored fields named "score" or "excerpt", they will not be clobbered.
my $highlighter = KinoSearch1::Highlight::Highlighter->new( excerpt_field => 'bodytext', ); $hits->create_excerpts( highlighter => $highlighter );
Use the supplied highlighter to generate excerpts. See KinoSearch1::Highlight::Highlighter.
Copyright 2005-2010 Marvin Humphrey
See KinoSearch1 version 1.01.
2022-10-20 | perl v5.36.0 |