Class Document (2.0.0)

public class Document implements Serializable

Represents a user generated document. The following example shows how to create a document consisting of a set of fields, some with plain text and some in HTML; it also adds facets to the document.


    Document document = Document.newBuilder().setId("document id")
       .setLocale(Locale.UK)
       .addField(Field.newBuilder()
           .setName("subject")
           .setText("going for dinner"))
       .addField(Field.newBuilder()
           .setName("body")
           .setHTML("I found a restaurant."))
       .addField(Field.newBuilder()
           .setName("signature")
           .setText("ten post jest przeznaczony dla odbiorcy")
           .setLocale(new Locale("pl")))
       .addFacet(Facet.withAtom("tag", "food"))
       .addFacet(Facet.withNumber("priority", 5.0))
       .build();
 

The following example shows how to access the fields within a document:


    Document document = ...

    for (Field field : document.getFields()) {
      switch (field.getType()) {
        case TEXT: use(field.getText()); break;
        case HTML: use(field.getHtml()); break;
        case ATOM: use(field.getAtom()); break;
        case DATE: use(field.getDate()); break;
      }
    }
 

And this example shows how to access the facets within a document:


    Document document = ...

    for (Facet facet : document.getFacets()) {
      switch (facet.getType()) {
        case ATOM:   use(facet.getAtom()); break;
        case NUMBER: use(facet.getNumber()); break;
      }
    }
 

Inheritance

Object > Document

Implements

Serializable

Static Methods

newBuilder()

public static Document.Builder newBuilder()

Creates a new document builder. You must use this method to obtain a new builder. The returned builder must be used to specify all properties of the document. To obtain the document call the Builder#build() method on the returned builder.

Returns
TypeDescription
Document.Builder

a builder which constructs a document object

Constructors

Document(Document.Builder builder)

protected Document(Document.Builder builder)

Constructs a document with the given builder.

Parameter
NameDescription
builderDocument.Builder

the builder capable of building a document

Methods

equals(Object object)

public boolean equals(Object object)
Parameter
NameDescription
objectObject
Returns
TypeDescription
boolean
Overrides

getFacetCount(String name)

public int getFacetCount(String name)

Returns the number of times a facet with the given name is present in this document.

Parameter
NameDescription
nameString

the name of the facet to be counted

Returns
TypeDescription
int

the number of times a facet with the given name is present

getFacetNames()

public Set<String> getFacetNames()

Returns an unmodifiable Set of the facet names in the document

Returns
TypeDescription
Set<String>

getFacets()

public Iterable<Facet> getFacets()

Returns an iterable of Facet in the document

Returns
TypeDescription
Iterable<Facet>

getFacets(String name)

public Iterable<Facet> getFacets(String name)

Returns an iterable of all facets with the given name.

Parameter
NameDescription
nameString

the name of the facet whose values are to be returned

Returns
TypeDescription
Iterable<Facet>

an unmodifiable Iterable of Facet with the given name or null

getFieldCount(String name)

public int getFieldCount(String name)

Returns the number of times a field with the given name is present in this document.

Parameter
NameDescription
nameString

the name of the field to be counted

Returns
TypeDescription
int

the number of times a field with the given name is present

getFieldNames()

public Set<String> getFieldNames()

Returns an unmodifiable Set of the field names in the document

Returns
TypeDescription
Set<String>

getFields()

public Iterable<Field> getFields()

Returns an iterable of Field in the document

Returns
TypeDescription
Iterable<Field>

getFields(String name)

public Iterable<Field> getFields(String name)

Returns an iterable of all fields with the given name.

Parameter
NameDescription
nameString

the name of the field whose values are to be returned

Returns
TypeDescription
Iterable<Field>

an unmodifiable Iterable of Field with the given name or null

getId()

public String getId()
Returns
TypeDescription
String

the id of the document

getLocale()

public Locale getLocale()
Returns
TypeDescription
Locale

the Locale the document is written in. Can be null

getOnlyFacet(String name)

public Facet getOnlyFacet(String name)

Returns the single facet with the given name.

Parameter
NameDescription
nameString

the name of the facet to return

Returns
TypeDescription
Facet

the single facet with name

getOnlyField(String name)

public Field getOnlyField(String name)

Returns the single field with the given name.

Parameter
NameDescription
nameString

the name of the field to return

Returns
TypeDescription
Field

the single field with name

getRank()

public int getRank()

Returns the rank of this document. A document's rank is used to determine the default order in which documents are returned by search, if no sorting or scoring is specified.

Returns
TypeDescription
int

the rank of this document

hashCode()

public int hashCode()
Returns
TypeDescription
int
Overrides

toString()

public String toString()
Returns
TypeDescription
String
Overrides