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.