The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.