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, # requiredquery => $query, # requiredfield => 'content', # requiredexcerpt_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.