NAME

Lucy::Plan::FullTextType - Full-text search field type.

SYNOPSIS

my $easyanalyzer = Lucy::Analysis::EasyAnalyzer->new(
    language => 'en',
);
my $type = Lucy::Plan::FullTextType->new(
    analyzer => $easyanalyzer,
);
my $schema = Lucy::Plan::Schema->new;
$schema->spec_field( name => 'title',   type => $type );
$schema->spec_field( name => 'content', type => $type );

DESCRIPTION

Lucy::Plan::FullTextType is an implementation of FieldType tuned for “full text search”.

Full text fields are associated with an Analyzer, which is used to tokenize and normalize the text so that it can be searched for individual words.

For an exact-match, single value field type using character data, see StringType.

CONSTRUCTORS

new

my $type = Lucy::Plan::FullTextType->new(
    analyzer      => $analyzer,    # required
    boost         => 2.0,          # default: 1.0
    indexed       => 1,            # default: true
    stored        => 1,            # default: true
    sortable      => 1,            # default: false
    highlightable => 1,            # default: false
);
  • analyzer - An Analyzer.

  • boost - floating point per-field boost.

  • indexed - boolean indicating whether the field should be indexed.

  • stored - boolean indicating whether the field should be stored.

  • sortable - boolean indicating whether the field should be sortable.

  • highlightable - boolean indicating whether the field should be highlightable.

METHODS

set_highlightable

$full_text_type->set_highlightable($highlightable);

Indicate whether to store data required by Highlighter for excerpt selection and search term highlighting.

highlightable

my $bool = $full_text_type->highlightable();

Accessor for “highlightable” property.

get_analyzer

my $analyzer = $full_text_type->get_analyzer();

Accessor for the type’s analyzer.

INHERITANCE

Lucy::Plan::FullTextType isa Lucy::Plan::TextType isa Lucy::Plan::FieldType isa Clownfish::Obj.