Nick Wellnhofer > Lucy > Lucy::Highlight::Highlighter

Download:
Lucy-0.5.1.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.005001   Source  

NAME ^

Lucy::Highlight::Highlighter - Create and highlight excerpts.

SYNOPSIS ^

    my $highlighter = Lucy::Highlight::Highlighter->new(
        searcher => $searcher,
        query    => $query,
        field    => 'body'
    );
    my $hits = $searcher->hits( query => $query );
    while ( my $hit = $hits->next ) {
        my $excerpt = $highlighter->create_excerpt($hit);
        ...
    }

DESCRIPTION ^

The Highlighter can be used to select relevant snippets from a document, and to surround search terms with highlighting tags. It handles both stems and phrases correctly and efficiently, using special-purpose data generated at index-time.

CONSTRUCTORS ^

new

    my $highlighter = Lucy::Highlight::Highlighter->new(
        searcher       => $searcher,    # required
        query          => $query,       # required
        field          => 'content',    # required
        excerpt_length => 150,          # default: 200
    );

Create a new Highlighter.

METHODS ^

create_excerpt

    my $string = $highlighter->create_excerpt($hit_doc);

Take a HitDoc object and return a highlighted excerpt as a string if the HitDoc has a value for the specified field.

encode

    my $string = $highlighter->encode($text);

Encode text with HTML entities. This method is called internally by create_excerpt() for each text fragment when assembling an excerpt. A subclass can override this if the text should be encoded differently or not at all.

highlight

    my $string = $highlighter->highlight($text);

Highlight a small section of text. By default, prepends pre-tag and appends post-tag. This method is called internally by create_excerpt() when assembling an excerpt.

set_pre_tag

    $highlighter->set_pre_tag($pre_tag);

Setter. The default value is “<strong>”.

set_post_tag

    $highlighter->set_post_tag($post_tag);

Setter. The default value is “</strong>”.

get_pre_tag

    my $string = $highlighter->get_pre_tag();

Accessor.

get_post_tag

    my $string = $highlighter->get_post_tag();

Accessor.

get_field

    my $string = $highlighter->get_field();

Accessor.

get_excerpt_length

    my $int = $highlighter->get_excerpt_length();

Accessor.

get_searcher

    my $searcher = $highlighter->get_searcher();

Accessor.

get_query

    my $query = $highlighter->get_query();

Accessor.

get_compiler

    my $compiler = $highlighter->get_compiler();

Accessor for the Lucy::Search::Compiler object derived from query and searcher.

INHERITANCE ^

Lucy::Highlight::Highlighter isa Clownfish::Obj.

syntax highlighting: