-
-
27 Feb 2018 08:40:23 UTC
- Distribution: Lucy
- Source (raw)
- Browse (raw)
- Changes
- Homepage
- How to Contribute
- Clone repository
- Issues
- Testers (1263 / 3 / 7)
- Kwalitee
Bus factor: 1- License: apache_2_0
- Perl: v5.8.3
- Activity
24 month- Tools
- Download (1.12MB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
and 1 contributors- The Apache Lucy Project <dev at lucy dot apache dot org>
- Dependencies
- Clownfish
- and possibly others
- Reverse dependencies
- CPAN Testers List
- Dependency graph
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.
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
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
andsearcher
.INHERITANCE
Lucy::Highlight::Highlighter isa Clownfish::Obj.
Module Install Instructions
To install Lucy, copy and paste the appropriate command in to your terminal.
cpanm Lucy
perl -MCPAN -e shell install Lucy
For more information on module installation, please visit the detailed CPAN module installation guide.