NAME
KinoSearch::Highlight::Highlighter - Create and highlight excerpts.
DEPRECATED
The KinoSearch code base has been assimilated by the Apache Lucy project. The "KinoSearch" namespace has been deprecated, but development continues under our new name at our new home: http://lucy.apache.org/
SYNOPSIS
my $highlighter = KinoSearch::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 = KinoSearch::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 KinoSearch::Search::Compiler object derived from query
and searcher
.
get_excerpt_length()
Accessor.
get_field()
Accessor.
INHERITANCE
KinoSearch::Highlight::Highlighter isa KinoSearch::Object::Obj.
COPYRIGHT AND LICENSE
Copyright 2005-2011 Marvin Humphrey
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.