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( [labeled params] )

my $highlighter = Lucy::Highlight::Highlighter->new(
    searcher       => $searcher,    # required
    query          => $query,       # required
    field          => 'content',    # required
    excerpt_length => 150,          # default: 200
);
  • searcher - An object which inherits from Searcher, such as an IndexSearcher.

  • query - Query object or a query string.

  • field - The name of the field from which to draw the excerpt. The field must marked as be highlightable (see FieldType).

  • excerpt_length - Maximum length of the excerpt, in characters.

METHODS

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.

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.

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.

set_pre_tag(pre_tag)

Setter. The default value is "<strong>".

get_pre_tag()

Accessor.

set_post_tag(post_tag)

Setter. The default value is "</strong>".

get_post_tag()

Accessor.

get_searcher()

Accessor.

get_query()

Accessor.

get_compiler()

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

get_excerpt_length()

Accessor.

get_field()

Accessor.

INHERITANCE

Lucy::Highlight::Highlighter isa Lucy::Object::Obj.