NAME

Lucy::Document::Doc - A document.

SYNOPSIS

my $doc = Lucy::Document::Doc->new(
    fields => { foo => 'foo foo', bar => 'bar bar' },
);
$indexer->add_doc($doc);

Doc objects allow access to field values via hashref overloading:

$doc->{foo} = 'new value for field "foo"';
print "foo: $doc->{foo}\n";

DESCRIPTION

A Doc object is akin to a row in a database, in that it is made up of one or more fields, each of which has a value.

CONSTRUCTORS

new

my $doc = Lucy::Document::Doc->new(
    fields => { foo => 'foo foo', bar => 'bar bar' },
);

Create a new Document.

  • fields - Field-value pairs.

  • doc_id - Internal Lucy document id. Default of 0 (an invalid doc id).

METHODS

set_doc_id

$doc->set_doc_id($doc_id);

Set internal Lucy document id.

get_doc_id

my $int = $doc->get_doc_id();

Retrieve internal Lucy document id.

store

$doc->store($field, $value);

Store a field value in the Doc.

  • field - The field name.

  • value - The value.

get_fields

my $hashref = $doc->get_fields();

Return the Doc's backing fields hash.

get_size

my $int = $doc->get_size();

Return the number of fields in the Doc.

extract

my $obj = $doc->extract($field);

Retrieve the field’s value, or NULL if the field is not present.

field_names

my $arrayref = $doc->field_names();

Return a list of names of all fields present.

INHERITANCE

Lucy::Document::Doc isa Clownfish::Obj.