---
name: "Lucy::Document::Doc"
section: "3pm"
platform: "linux"
package: "liblucy-perl"
version: "0.3.3-7+b1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/Lucy::Document::Doc"
---

# Lucy::Document::Doc(3pm)

A document.

## 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( *\[labeled params\]* )

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

- •

  **fields** - Field-value pairs.

- •

  **doc\_id** - Internal Lucy document id.  Default of 0 (an invalid doc id).

## METHODS

### set\_doc\_id(doc\_id)

Set internal Lucy document id.

### *get\_doc\_id()*

Retrieve internal Lucy document id.

### *get\_fields()*

Return the Doc's backing fields hash.

## INHERITANCE

Lucy::Document::Doc isa Lucy::Object::Obj.
