## org.apache.solr.common
Class SolrDocument

    java.lang.Object
      org.apache.solr.common.SolrDocument

All Implemented Interfaces:
  Serializable, Iterable<Map.Entry<String,Object>>, Map<String,Object>

    public class SolrDocument

extends Object
implements Map<String,Object>, Iterable<Map.Entry<String,Object>>, Serializable

A concrete representation of a document within a Solr index. Unlike a lucene Document, a SolrDocument may have an Object value matching the type defined in schema.xml For indexing documents, use the SolrInputDocument that contains extra information for document and field boosting.

Since:
  solr 1.3
Version:
  $Id: SolrDocument.java 802275 2009-08-08 00:45:15Z yonik $
See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from interface java.util.Map
`Map.Entry<K,V>`

Constructor Summary
`SolrDocument()`

Method Summary
`void` `addField(String name, Object value)` This will add a field to the document.
`void` `clear()` Remove all fields from the document
`boolean` `containsKey(Object key)`
`boolean` `containsValue(Object value)`
`Set<Map.Entry<String,Object>>` `entrySet()`
`Object` `get(Object key)`
`Collection<String>` `getFieldNames()`
`Object` `getFieldValue(String name)` Get the value or collection of values for a given field.
`Map<String,Object>` `getFieldValueMap()` Expose a Map interface to the solr fields.
`Collection<Object>` `getFieldValues(String name)` Get a collection of values for a given field name
`Map<String,Collection<Object>>` `getFieldValuesMap()` Expose a Map interface to the solr field value collection.
`Object` `getFirstValue(String name)` returns the first value for a field
`boolean` `isEmpty()`
`Iterator<Map.Entry<String,Object>>` `iterator()` Iterate of String->Object keys
`Set<String>` `keySet()`
`Object` `put(String key, Object value)`
`void` `putAll(Map<? extends String,? extends Object> t)`
`Object` `remove(Object key)`
`boolean` `removeFields(String name)` Remove all fields with the name
`void` `setField(String name, Object value)` Set a field with the given object.
`int` `size()`
`String` `toString()`
`Collection<Object>` `values()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface java.util.Map
`equals, hashCode`

Constructor Detail

### SolrDocument

    public SolrDocument()

Method Detail

### getFieldNames

    public Collection<String> getFieldNames()

  Returns:
    a list of fields defined in this document

### clear

    public void clear()

  Remove all fields from the document

  Specified by:
    `clear` in interface `Map<String,Object>`

### removeFields

    public boolean removeFields(String name)

  Remove all fields with the name

### setField

    public void setField(String name,
                         Object value)

  Set a field with the given object. If the object is an Array, it will set multiple fields with the included contents. This will replace any existing field with the given name

### addField

    public void addField(String name,
                         Object value)

  This will add a field to the document. If fields already exist with this name it will append the collection

### getFirstValue

    public Object getFirstValue(String name)

  returns the first value for a field

### getFieldValue

    public Object getFieldValue(String name)

  Get the value or collection of values for a given field.

### getFieldValues

    public Collection<Object> getFieldValues(String name)

  Get a collection of values for a given field name

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### iterator

    public Iterator<Map.Entry<String,Object>> iterator()

  Iterate of String->Object keys

  Specified by:
    `iterator` in interface `Iterable<Map.Entry<String,Object>>`

### getFieldValuesMap

    public Map<String,Collection<Object>> getFieldValuesMap()

  Expose a Map interface to the solr field value collection.

### getFieldValueMap

    public Map<String,Object> getFieldValueMap()

  Expose a Map interface to the solr fields. This function is useful for JSTL

### containsKey

    public boolean containsKey(Object key)

  Specified by:
    `containsKey` in interface `Map<String,Object>`

### containsValue

    public boolean containsValue(Object value)

  Specified by:
    `containsValue` in interface `Map<String,Object>`

### entrySet

    public Set<Map.Entry<String,Object>> entrySet()

  Specified by:
    `entrySet` in interface `Map<String,Object>`

### get

    public Object get(Object key)

  Specified by:
    `get` in interface `Map<String,Object>`

### isEmpty

    public boolean isEmpty()

  Specified by:
    `isEmpty` in interface `Map<String,Object>`

### keySet

    public Set<String> keySet()

  Specified by:
    `keySet` in interface `Map<String,Object>`

### put

    public Object put(String key,
                      Object value)

  Specified by:
    `put` in interface `Map<String,Object>`

### putAll

    public void putAll(Map<? extends String,? extends Object> t)

  Specified by:
    `putAll` in interface `Map<String,Object>`

### remove

    public Object remove(Object key)

  Specified by:
    `remove` in interface `Map<String,Object>`

### size

    public int size()

  Specified by:
    `size` in interface `Map<String,Object>`

### values

    public Collection<Object> values()

  Specified by:
    `values` in interface `Map<String,Object>`

Copyright © 2010 Apache Software Foundation. All Rights Reserved.