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.