NAME

Lucy::Plan::FieldType - Define a field’s behavior.

SYNOPSIS

my @sortable;
for my $field ( @{ $schema->all_fields } ) {
    my $type = $schema->fetch_type($field);
    next unless $type->sortable;
    push @sortable, $field;
}

DESCRIPTION

FieldType is an abstract class defining a set of traits and behaviors which may be associated with one or more field names.

Properties which are common to all field types include boost, indexed, stored, sortable, binary, and similarity.

The boost property is a floating point scoring multiplier which defaults to 1.0. Values greater than 1.0 cause the field to contribute more to a document’s score, lower values, less.

The indexed property indicates whether the field should be indexed (so that it can be searched).

The stored property indicates whether to store the raw field value, so that it can be retrieved when a document turns up in a search.

The sortable property indicates whether search results should be sortable based on the contents of the field.

The binary property indicates whether the field contains binary or text data. Unlike most other properties, binary is not settable.

The similarity property is a Similarity object which defines matching and scoring behavior for the field. It is required if the field is indexed.

METHODS

set_boost

$field_type->set_boost($boost);

Setter for boost.

get_boost

my $float = $field_type->get_boost();

Accessor for boost.

set_indexed

$field_type->set_indexed($indexed);

Setter for indexed.

indexed

my $bool = $field_type->indexed();

Accessor for indexed.

set_stored

$field_type->set_stored($stored);

Setter for stored.

stored

my $bool = $field_type->stored();

Accessor for stored.

set_sortable

$field_type->set_sortable($sortable);

Setter for sortable.

sortable

my $bool = $field_type->sortable();

Accessor for sortable.

binary

my $bool = $field_type->binary();

Indicate whether the field contains binary data.

INHERITANCE

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