public class DocumentMap
extends java.lang.Object
implements java.util.Map
Map
for accessing the data stored in a Lucene Document
as field/value pairs. All data is loaded from the index into the Map
when any Map accessor method is called (e.g. eager loading), making data available even if the underlying
index later changes, but also making access to very large Documents inefficient. Each stored field in the
Document
corresponds to a key in the Map. For example
documentMap.get("title") gets the text that was indexed and stored under the field name "title" for the
Document. Supports read operations only. A DocumentMap is available from search results by calling ResultDoc.getDocMap()
. Example that uses JSTL inside a JSP page (assumes result is an instance of ResultDoc):
The title is: ${result.docMap["title"]}.
Document
,
ResultDoc
,
LazyDocumentMap
Constructor and Description |
---|
DocumentMap()
Constructor for the DocumentMap object.
|
DocumentMap(org.apache.lucene.document.Document doc)
Constructor for the DocumentMap object.
|
Modifier and Type | Method and Description |
---|---|
void |
clear()
Method not supported.
|
boolean |
containsKey(java.lang.Object fieldName)
Determines whether a given field exists in the Lucene
Document . |
boolean |
containsValue(java.lang.Object value)
Determines whether the given field value is present in the Lucene
Document . |
java.util.Set |
entrySet()
Gets the Set of field/value entries for the Lucene
Document . |
java.lang.Object |
get(java.lang.Object fieldName)
Gets the text content of the given Lucene field as a String or null if the given field is not available
or was not stored in the index.
|
boolean |
isEmpty()
Determines whether there are no fields in this
Document . |
java.util.Set |
keySet()
Gets the field names in the Lucene
Document . |
java.lang.Object |
put(java.lang.Object key,
java.lang.Object value)
Method not supported.
|
void |
putAll(java.util.Map t)
Method not supported.
|
java.lang.Object |
remove(java.lang.Object key)
Method not supported.
|
int |
size()
Gets the number of fields in the
Document . |
java.util.Collection |
values()
Gets all field values that are present in the Lucene
Document . |
public DocumentMap(org.apache.lucene.document.Document doc)
doc
- The Lucene Document that is exposed by this Map.public DocumentMap()
public java.lang.Object get(java.lang.Object fieldName)
get
in interface java.util.Map
fieldName
- A Lucene Document
field namepublic java.util.Set keySet()
Document
.keySet
in interface java.util.Map
public java.util.Set entrySet()
Document
. Each
Map.Entry
Object in the Set contains the field name (key) and corresponding field
value. The field value will be an empty String if the given field was not set to be stored in the index.entrySet
in interface java.util.Map
Map.Entry
public boolean containsKey(java.lang.Object fieldName)
Document
.containsKey
in interface java.util.Map
fieldName
- A field nameDocument
public java.util.Collection values()
Document
.values
in interface java.util.Map
public boolean containsValue(java.lang.Object value)
Document
.containsValue
in interface java.util.Map
value
- A field valueDocument
public boolean isEmpty()
Document
.isEmpty
in interface java.util.Map
public int size()
Document
.size
in interface java.util.Map
Document
public void putAll(java.util.Map t)
putAll
in interface java.util.Map
t
- Not supported.public java.lang.Object put(java.lang.Object key, java.lang.Object value)
put
in interface java.util.Map
key
- Not supported.value
- Not supported.public java.lang.Object remove(java.lang.Object key)
remove
in interface java.util.Map
key
- Not supported.public void clear()
clear
in interface java.util.Map