KinoSearch::Search::Hits(3) access search results

SYNOPSIS


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";
}

DESCRIPTION

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.

METHODS

seek

    $hits->seek( START, NUM_TO_RETRIEVE );

Position the Hits iterator at START, and capture NUM_TO_RETRIEVE docs.

total_hits

    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.)

fetch_hit

    while ( my $hit = $hits->fetch_hit ) {
        # ...
    }

Return the next hit as a KinoSearch::Search::Hit object.

fetch_hit_hashref

    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.

create_excerpts

    my $highlighter = KinoSearch::Highlight::Highlighter->new(
        excerpt_field => 'bodytext',    
    );
    $hits->create_excerpts( highlighter => $highlighter );

Use the supplied highlighter to generate excerpts. See KinoSearch::Highlight::Highlighter.

COPYRIGHT

Copyright 2005-2009 Marvin Humphrey

LICENSE, DISCLAIMER, BUGS, etc.

See KinoSearch version 0.165.