Lucy::Highlight::Highlighter - Create and highlight excerpts.
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); ... }
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.
my $highlighter = Lucy::Highlight::Highlighter->new( searcher => $searcher, # required query => $query, # required field => 'content', # required excerpt_length => 150, # default: 200 );
Create a new Highlighter.
highlightable
(see FieldType).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
.
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.
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.
$highlighter->set_pre_tag($pre_tag);
Setter. The default value is “<strong>”.
$highlighter->set_post_tag($post_tag);
Setter. The default value is “</strong>”.
my $string = $highlighter->get_pre_tag();
Accessor.
my $string = $highlighter->get_post_tag();
Accessor.
my $string = $highlighter->get_field();
Accessor.
my $int = $highlighter->get_excerpt_length();
Accessor.
my $searcher = $highlighter->get_searcher();
Accessor.
my $query = $highlighter->get_query();
Accessor.
my $compiler = $highlighter->get_compiler();
Accessor for the Lucy::Search::Compiler object derived from query
and searcher
.
Lucy::Highlight::Highlighter isa Clownfish::Obj.
Copyright © 2010-2015 The Apache Software Foundation, Licensed under the
Apache License, Version 2.0.
Apache Lucy, Lucy, Apache, the Apache feather logo, and the Apache Lucy project logo are trademarks of The
Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their
respective owners.